我有一個使用 ISO-8859-1 編碼的 XML 檔案。我可以使用 XDOCUMENT 加載 XML,但我無法存盤特定節點。有人可以幫我嗎?xml:
<?xml version="1.0" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TERMEKADATOutput xmlns="http://xmlns.oracle.com/orawsv/PUPHAX/PUPHAXWS">
<RETURN>
<OBJTERMEKADAT>
<TTT>210037069</TTT>
<TK>OGYI-T-04617/05</TK>
</OBJTERMEKADAT>
</RETURN>
</TERMEKADATOutput>
</soap:Body>
</soap:Envelope>
和代碼:
XDocument xmlDoc = null;
using (StreamReader oReader = new StreamReader(@"C:\Users\maruzsama\source\repos\EPPuphax\EPPuphax\asd.xml", Encoding.GetEncoding("ISO-8859-1")))
{
xmlDoc = XDocument.Load(oReader); //this working fine
var result = from q in xmlDoc.Descendants("OBJTERMEKADAT")
select new
{
asd = q.Element("TTT").Value
};
Console.ReadKey();
}
我需要來自 TTT 節點的資料 (210037069)
uj5u.com熱心網友回復:
嘗試以下更改:
XDocument xmlDoc = null;
using (StreamReader oReader = new StreamReader(@"C:\Users\maruzsama\source\repos\EPPuphax\EPPuphax\asd.xml", Encoding.GetEncoding("ISO-8859-1")))
{
xmlDoc = XDocument.Load(oReader); //this working fine
XElement TERMEKADATOutput = xmlDoc.Descendants().Where(x => x.Name.LocalName == "TERMEKADATOutput").First();
XNamespace ns = TERMEKADATOutput.GetDefaultNamespace();
var result = from q in TERMEKADATOutput.Descendants(ns "OBJTERMEKADAT")
select new
{
asd = q.Element(ns "TTT").Value
};
Console.ReadKey();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/517206.html
上一篇:為一個方法創建多個測驗場景