我正在阅读文件“MyMessage.txt”
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:com.company:request.001">
<ReqHdr>
<AppInstanceId>AAAA</AppInstanceId>
</ReqHdr>
<ReqTxInf>
<PmtId>
<TxId>1stTXID</TxId>
</PmtId>
<CtgyPurp>
<Prtry>ECRR</Prtry>
<TxId>2ndTXID</TxId>
</CtgyPurp>
</ReqTxInf>
</Document>
我正在尝试找到第二个TxId字段的值:
XElement element = XElement.Parse(System.IO.File.ReadAllText(
System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
"MyMessage.txt")));
string path = "//ReqTxInf/CtgyPurp/TxId";
try
{
Console.WriteLine(element);
Console.WriteLine("TxId is:" + element.XPathSelectElement(path).Value);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
}
如果XML文件没有命名空间,这可以正常工作,但是我需要以某种方式将它添加到查询中。我可以从元素中获取命名空间:
element.Name.Namespace
但我找不到任何关于如何在查询中使用它的参考。