Получение nsi: введите xml

1

Итак, у меня есть XML файл, который выглядит так

<MyObjectBuilder_Sector xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SectorObjects>
    <MyObjectBuilder_EntityBase xsi:type="MyObjectBuilder_CubeGrid">
      <EntityId>-8358349049537298307</EntityId>
      <LinearVelocity x="0" y="0" z="0" />
    </MyObjectBuilder>
  </SectorObjects>
</MyObjectBuilder_Sector>

Мне было любопытно, как в С# я мог получить этот MyObjectBuilder_CubeGrid из узла MyObjectBuilder_EntityBase. Лучшее, что я получил, это

fileLoc = ofd.FileName;
XmlDocument xdoc = new XmlDocument();
xdoc.Load(fileLoc);
XmlNode typeOfNode = xdoc.SelectSingleNode("MyObjectBuilder_Sector/SectorObjects/MyObjectBuilder_EntityBase").ToString();

Который, конечно, просто дает мне узел, а не xsi: тип узла. Я искал все это и не могу найти ответ.

-Cheers
Джейкоб Бендер

Теги:

1 ответ

1
Лучший ответ

Вы можете получить доступ к атрибуту узла таким образом:

XmlNode typeOfNode = 
    xdoc.SelectSingleNode("MyObjectBuilder_Sector/SectorObjects/MyObjectBuilder_EntityBase");

//here typeValue variable will contains "MyObjectBuilder_CubeGrid"
String typeValue = typeOfNode.Attributes["xsi:type"].Value;
  • 0
    Спасибо! Работал как шарм

Ещё вопросы

Сообщество Overcoder
Наверх
Меню