То, что я пытаюсь сделать, - это создать вложенный в List List в основном 2d-список или 2D-массив, если это лучше для этой задачи, который будет работать следующим образом: ID => 1 Name => Hickory
без явного выбора узла ,C# XML Parsing, разделяющий innerxml from innertext
Я мог бы использовать SelectNode (Woods/Wood), а затем сделать что-то вроде node["ID"].InnerText
, но для этого мне нужно знать, что такое имя узла.
Предположим, что это будет читать wood.xml
, даже если было 36 узлов вместо 7 и что я никогда не узнаю имя узлов. Я пробовал использовать outerxml
/innerxml
, но это дает мне слишком много информации.
XmlDocument doc = new XmlDocument();
doc.Load("wood.xml");
//Here is wood.xml
/*<Woods><Wood><ID>1</ID><Name>Hickory</Name><Weight>3</Weight><Thickness>4</Thickness><Density>5</Density><Purity>6</Purity><Age>7</Age></Wood><Wood><ID>2</ID><Name>Soft Maple</Name><Weight>3</Weight><Thickness>4</Thickness><Density>5</Density><Purity>6</Purity><Age>7</Age></Wood><Wood><ID>3</ID><Name>Red Oak</Name><Weight>3</Weight><Thickness>4</Thickness><Density>5</Density><Purity>6</Purity><Age>7</Age></Wood></Woods>*/
XmlNode root = doc.FirstChild;
//Display the contents of the child nodes.
if (root.HasChildNodes)
{
for (int i=0; i<root.ChildNodes.Count; i++)
{
Console.WriteLine(root.ChildNodes[i].InnerXml);
Console.WriteLine();
}
Console.ReadKey();
}
Это позволит мне в основном создать дерево «буфер», если вы будете так что я могу получить доступ к этим значения в другом месте.
Извините, если я не понял, я хочу по существу сделать этот «абстрактный» из-за отсутствия лучшего слова.
Так что, если бы я когда-нибудь изменил имя «Вес» на «HowHeavy», или если бы я добавил дополнительный элемент «NumberOfBranches», мне не пришлось бы жестко кодировать структуру xml-файла.
Что вопрос? – tafa
", что я никогда не узнаю имя узлов." Затем, пожалуйста, дайте образец, как вы хотите получить данные. –
Ну, вот что я не знаю, как это сделать. Если я знаю имя узла, я могу использовать SelectSingleNode («ID»). InnerText. То, что я пытаюсь выполнить, - это прочитать XML-файл, не зная, что такое имена узлов. – Windex