私がしようとしているのは、理想的にはネストしたリストを作成することです。このタスクの方が良い場合には、2次リストを作成してください。ID => 1 Name => Hickory
明示的にノードを選択せずに。c#XML innerArmlをinnertextから分離する構文解析
私はSelectNode(Woods/Wood)を使用し、次にnode["ID"].InnerText
のようなことをすることができますが、それはノード名が何であるかを知る必要があります。
ノード番号が7ではなく36個であっても、これはwood.xml
となり、ノードの名前がわからないとします。私は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();
}
「バッファ」あなたは私が他の場所で、これらの値にアクセスすることができます場合。
申し訳ありませんがわかりにくければ、私は本質的にこれを「より抽象的な」ものにしたいと思います。
「Weight」の名前を「HowHeavy」に変更する場合、または「NumberOfBranches」という要素を追加する場合は、xmlファイルの構造をハードコードする必要はありません。
質問は何を使用することができますか? – tafa
"私はノードの名前を決して知らないでしょう。"次に、どのようにデータを取得したいかサンプルを与えてください。 –
それは私がどうやって行うのか分からないことです。私がノードの名前を知っているなら、SelectSingleNode( "ID")を使うことができます。InnerText。私が達成しようとしているのは、ノード名が分からずにXMLファイルを読むことができることです。 – Windex