【发布时间】:2016-06-21 16:21:00
【问题描述】:
<?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 个不同的组提供这些信息。
- 组 1 = 设置 1、Test1、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"),
};
我尝试了很多不同的方法来获取与之配对的信息,但我就是想不通。我希望我解释得足够好。
我在这个网站上四处寻找与我所要求的类似的东西,但我找不到任何东西。有人可以帮忙吗?
很难为这个问题想出一个主题。如有误导,请见谅。
谢谢
【问题讨论】:
标签: c# xml linq linq-to-xml