【发布时间】:2013-01-18 19:47:13
【问题描述】:
我有以下格式的xml:
<rows>
<rows>
<primitiveValue>000</primitiveValue>
</rows>
<rows>
<primitiveValue>58316</primitiveValue>
</rows>
<rows>
<primitiveValue>133083.0</primitiveValue>
</rows>
</rows>
<rows>
<rows>
<primitiveValue>001</primitiveValue>
</rows>
<rows>
<primitiveValue>66018</primitiveValue>
</rows>
<rows>
<primitiveValue>172546.0</primitiveValue>
</rows>
</rows>
我需要按行的父元素拆分数据,但不知道该怎么做。
我已经尝试过下面的代码,但这会循环遍历行的每个实例并导致重复。
string Values = "";
foreach (XElement element in xDoc.Descendants("rows"))
{
foreach (XElement childElement in element.Descendants("rows").Elements("primitiveValue"))
{
Values = Values + "," + childElement.Value.ToString();
}
}
有人可以帮忙吗?
【问题讨论】:
-
你能改变xml吗?如果是这样,您应该将其设为
<rows><row/><row/></rows>而不是调用所有行。 -
不,我不能,因为它来自谷歌分析 api。它以 JSON 格式自动返回,然后我将其转换为 XML,因为我想使用我已经设置的进程将每行的 xml 导入 SQL Server DB
-
如果是这种情况,我建议您查看 JSON.net 以将 JSON 转换为 XML,而不是自己滚动。
-
我已经使用 JSON.net 将其从 JSON 转换为 XML 格式。转换后的 XML 文档的上述片段部分
标签: c# xml linq linq-to-xml