我有一个要使用 LINQ 查询的 XML 文件。我想为每条记录创建一个新行。这是我迄今为止尝试过但失败的方法。
<?xml version="1.0" encoding="utf-8"?>
<categories xmlns="urn:schemas-pi-meta:categories" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-pi-meta:categories Xsd/meta.xml.config.xsd">
<category name="history">
<data>
<value name="customer">2</value>
<value name="truck">1</value>
</data>
<category name="record">
<data>
<value name="time">1/3/2013 2:22:41 PM</value>
<value name="quantity">3</value>
<value name="unit">barrels</value>
<value name="cancelled">false</value>
<value name="errored">false</value>
</data>
</category>
</category>
该文件较长,因此我已将其删除,但它会重复。
这是我试图做的:
XElement root = XElement.Load("D:\\Linq XM\\history.xml.config");
IEnumerable<XElement> address = from el in root.Elements("categories")
where (string)el.Attribute("category") == "record"
select el;
我试图改变 Elements 的价值,认为我可能遗漏了一些东西,但不知何故,查询没有返回我的数据。