我有一个像这样的示例xml文件
<vs:BioData>
<vs:Name>Name</vs:Name>
<vs:Address>address</vs:Address>
<vs:Zip>Zip</vs:zip>
</vs:BioData>
Run Code Online (Sandbox Code Playgroud)
所有节点都有一个前缀值作为vs,谁能告诉我如何解析这个文件来读取名称和地址信息?我是LINQ的新手.任何有关这方面的帮助将不胜感激.
谢谢!
Jon*_*eet 12
您需要知道命名空间是什么.这将在早些时候宣布,例如:
xmlns:vs="http://some_url_here"
Run Code Online (Sandbox Code Playgroud)
您可以使用XNamespace以下方式进
XNamespace vs = "http://some_url_here";
var names = doc.Descendants(vs + "Name")
.Select(x => (string) x)
.ToList();
Run Code Online (Sandbox Code Playgroud)
在+这里实际上是一个转换XNamespace和一个字符串到XName.
前缀"vs"应映射到XML文档标题中的命名空间,例如:
<FooDocument xmlns:vs="http://schemas.example.com/vs">
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用XNamespace通过LINQ选择这些元素,如下所示:
XNamespace vs = "http://schemas.example.com/vs";
var names = myXDoc.Root.Descendants(vs + "Name");
Run Code Online (Sandbox Code Playgroud)
XNamespace和XName类型都支持从字符串进行隐式转换.
| 归档时间: |
|
| 查看次数: |
3299 次 |
| 最近记录: |