使用XPath从XML文件中提取XML元素

JL.*_*JL. 7 c# xml xpath

我有以下XML文档:

  <MimeType>
     <Extension>.aab</Extension>
     <Value>application/x-authorware-</Value>
  </MimeType>
  <MimeType>
     <Extension>.aam</Extension>
     <Value>application/x-authorware-</Value>
  </MimeType>
Run Code Online (Sandbox Code Playgroud)

整个文件包含约700个条目.如何MimeType使用XPath提取单个元素并将其填充到强类型C#MimeType对象中?

Don*_*nut 14

使用XmlDocument.SelectSingleNode.

例:

XmlDocument doc = new XmlDocument();
doc.Load("yourXmlFileName");
XmlNode node = doc.SelectSingleNode("yourXpath");
Run Code Online (Sandbox Code Playgroud)

然后你可以访问node.ChildNodes以获得你想要的值(例子):

string extension = node.ChildNodes[0].InnerText;
string value = node.ChildNodes[1].InnerText;
Run Code Online (Sandbox Code Playgroud)

然后在构造MimeType对象时使用这些值.

编辑:一些XPath信息.
有一些非常好的XPath教程,请尝试这里这里.在W3C推荐本身可以是一个有点势不可挡.
对于您的示例,您可以尝试使用以下XPath来选择MimeType文档中的第一个节点(root无论您的根元素的名称是什么):

string xPath = "root/MimeType[1]"
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!