<?xml version="1.0" encoding="ISO-8859-1"?>
<detail id="TestXML">
<styles>
<Maininfo id="Set1">
<info1>Test1</info1>
<info2>Test2</info2>
<info2>Test3</info2>
<secondinfo>
<secondinfo-base id="1234567">
<description>BlahBlah</description>
<quantity>1</quantity>
</secondinfo-base>
</secondinfo>
<colors>
<color id="54321">
<color-id>54321</color-id>
<name>Test Color</name>
</color>
</colors>
</Maininfo>
</styles>
<styles>
<Maininfo id="Set2">
<info1>Test4</info1>
<info2>Test5</info2>
<info2>Test6</info2>
<secondinfo>
<secondinfo-base id="7654321">
<description>BlahBlahandBlah</description>
<quantity>2</quantity>
</secondinfo-base>
</secondinfo>
<colors>
<color id="12345">
<color-id>12345</color-id>
<name>Yellow</name>
</color>
<color id="23456">
<color-id>23456</color-id>
<name>Green</name>
</color>
<color id="34567">
<color-id>34567</color-id>
<name>Red</name>
</color>
</colors>
</Maininfo>
</styles>
</detail>
我正在嘗試構建一個文件,其中每個顏色ID和名稱都與info1,info2,info3字段組合在一起。例如,我需要設法用這些信息來創建4個不同的組。用C#讀取XML並將信息分組在一起
- 組1 =集1,測試1,的Test2,Test3的,1234567,54321,測試顏色
- 組2 =設定2,TEST4,TEST5,TEST6,7654321,12345,黃色
- 組3 =設置2,TEST4,TEST5,TEST6,7654321,23456,綠
- 組4 =設置2,TEST4,TEST5,TEST6,7654321,34567,紅
我能得到的顏色和一切,但我似乎不能得到它之前的信息。
這是我正在做的,以獲得顏色和顏色ID。
var xml = Xdocument.Load("test.xml");
var color = from c in xml.Root.Descendants("color")
select new{
colorNumber = (string)c.Element("color-id"),
colorName = (string)c.Element("name"),
};
我已經嘗試了很多不同的方式來獲取將與它配對的信息,但我無法弄清楚。我希望我解釋得很好。
我在這個網站上看了很多相似的東西,但我找不到任何東西。有人可以幫忙嗎?
這個問題很難想象這個問題。對不起,如果它是誤導。
謝謝
這有助於。我沒有意識到我可以做Parent.Parent。因爲這個,我現在有一個版本可以工作。我說的是因爲我遇到了一個具有多個「secondinfo-base」條目的xml文件,我只能得到第一個條目。此外,這可能是一個愚蠢的問題,但你如何訪問你的代碼拉動的信息? – Matt
@Matt,見編輯,這應該處理多個'secondinfo-base'元素。我舉了一個例子,說明如何從結果分組中提取信息。 – steve16351
我明白了。非常感謝。這非常有幫助。 – Matt