好吧,这个是我的XML文件
<?xml version="1.0" encoding="utf-8"?>
<config>
<setup>
<Test>10</Test>
<Copy>
<Descr>AA</Descr>
<Descr>BB</Descr>
</Copy>
</setup>
</config>
这个是我的LINQ查询:(
Dim query = From q In XElement.Load("\MyXml.xml").Elements("setup") _
Where q.Element("Test").Value = "SomeValue" _
Select New With {.Test = q.Element("Test").Value, _
.CopyDescr = q.Element("Copy/Descr").Value}
不幸的是,这个产生了以下直接错误。
The '/' character, hexadecimal value 0x2F, cannot be included in a name.
所以我的问题是,我怎样才能获得<Description>
中包含的子值,而不会出现错误?您看,我很乐意将CopyDescr
中包含的值加载到List of(String)
以供日后使用...
提前致谢!
答案 0 :(得分:0)
您可以使用XPath:
q.XPathSelectElements("Copy/Descr")
然而,这将返回元素列表。可能你需要以某种方式将它们连接在一起,所以你的代码将是:
.CopyDescr = String.Join( "," ,
from qq in q.XPathSelectElements("Copy/Descr") select qq.Value
);
答案 1 :(得分:0)
啊哈!我刚发现它。 Descendants
可以解决问题。
.CopyDescr = q.Descendants("Descr")