这里是XML文件
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MyResponse xmlns="http://mynamespace">
<Header>
<FirstName>David</FirstName>
<LastName>Duchovny</LastName>
</Header>
<Filmography>
<Films>
</Films>
<Series>
<Serie>
<Title>X-Files</Title>
<Year>1989</Year>
</Serie>
</Series>
</Filmography>
</MyResponse>
我只想得到这个对象的Header
部分:
public class Header
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
我做到了(我们不能使用反序列化(:
const string nameSapce = "http://mynamespace">
var xmlDocument = new XmlDocument();
xmlDocument.Load(@"c:tempcsv.xml");
var namespaceManager = new XmlNamespaceManager(xmlDocument.NameTable);
namespaceManager.AddNamespace("myApplication", nameSapce);
XmlNode node = xmlDocument.DocumentElement.SelectSingleNode("//myApplication:MyResponse", namespaceManager);
Console.WriteLine(node);
我在node
变量中得到了这个结果:
<Header xmlns="http://mynamespace">
<FirstName>David</FirstName>
<LastName>Duchovny</LastName>
</Header>
如何将Header
项提取到Header
对象?
如果您尝试过LINQ to XML,您可以将其与从XML对象、中选择Header类一起使用
示例:https://learn.microsoft.com/en-us/dotnet/standard/linq/linq-xml-overview