c# - 如何使用c#代码从xml文件中提取部分xml代码

标签 c# xml

 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
 <eRecon xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:noNamespaceSchemaLocation="eRecon.xsd">
 <Header>
  <Company Code="" /> 
  <CommonCarrierCode /> 
  <InputFileName InputIDPk="">F:\ReconNew\TmesysRec20100111.rec</InputFileName> 
  <BatchNumber>000152</BatchNumber> 
  <InputStartDateTime>2010-02-26 11:47:00</InputStartDateTime> 
  <InputFinishDateTime>2010-02-26 11:47:05</InputFinishDateTime> 
  <RecordCount>8</RecordCount> 
  </Header>
 <Detail>
  <CarrierStatusDate>2010-01-11</CarrierStatusDate> 
  <ClaimNum>YDF02892 C</ClaimNum> 
  <InvoiceNum>0108013775</InvoiceNum> 
  <LineItemNum>001</LineItemNum> 
  <NABP>10600211</NABP> 
  <RxNumber>4695045</RxNumber> 
  <RxDate>2008-07-21</RxDate> 
  <CheckNum /> 
  <PaymentStatus>PENDING</PaymentStatus> 
  <RejectDescription /> 
  <InvoiceChargeAmount>152.15</InvoiceChargeAmount> 
  <InvoicePaidAmount>131.00</InvoicePaidAmount> 
 </Detail>
 </eRecon>

如何提取该部分

 <Header>
  <Company Code="" /> 
  <CommonCarrierCode /> 
  <InputFileName InputIDPk="">F:\ReconNew\TmesysRec20100111.rec</InputFileName> 
  <BatchNumber>000152</BatchNumber> 
  <InputStartDateTime>2010-02-26 11:47:00</InputStartDateTime> 
  <InputFinishDateTime>2010-02-26 11:47:05</InputFinishDateTime> 
  <RecordCount>8</RecordCount> 
 </Header>

来自上面的 xml 文件。

我需要 C# 代码从 xml 文件中提取部分 xml 标记。

最佳答案

如果文件不太大(小于几MB),您可以将其加载到XmlDocument中:

XmlDocument doc = new XmlDocument();
doc.Load(@"C:\yourfile.xml");

然后你可以解析 <Header>使用 XPath 表达式的元素:

XmlNode headerNode = doc.SelectSingleNode("/eRecon/Header");
if(headerNode != null)
{
    string headerNodeXml = headerNode.OuterXml;
}

关于c# - 如何使用c#代码从xml文件中提取部分xml代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989162/

相关文章:

c# - 如何使用c#访问和修改ini格式的.config文件的值?

c# - 如何在javascript中获取 session [""]值?

引用对象的 C# 序列化

c++ - 使用 Tinyxml 检查 XML 节点是否存在

c# - 为什么在 vstest.console.exe 中进行测试时,dotnet vstest 返回 "No test is available in"?

c# - Interlocked.CompareExchange 在 dapper .net 方法中用于什么?

c# - 以两种不同的方式比较两个字符串

arrays - 在 XSLT 中创建动态数组

android - @id 和@+id 有什么区别?

c# - XmlSerializer - 反射(reflect)类型时出错