0
我有一個XML,我試圖分解元素,以便它顯示每個元素的路徑。我已經提供了下面的代碼示例以及我想要看到的輸出結果。獲取從XML分解的元素樹
XML數據如下所示。
<a:Clients>
<a:Client1>
<a:Initial>
<a:FirstName>data</a:FirstName>
<a:LastName>data</a:LastName>
</a:Initial>
<a:FirstName>data</a:FirstName>
<a:MiddleName />
<a:LastName>data</a:LastName>
<a:Title>Mr</a:Title>
<a:MaritalStatus>Divorced</a:MaritalStatus>
<a:MaidenName>data</a:MaidenName>
我想輸出它,所以它顯示爲
客戶端/客戶端1
客戶端/客戶端1/Initilal
客戶端/客戶端1 /初始/姓
等於是我想要讓我的XML的所有元素以這個順序出現在一個大的XML文檔中。我不想要任何位於標籤之間的數據,只是元素路徑。
我已經在vs 2015 - 控制檯應用程序中編寫了以下代碼,嘗試按此順序輸出它,但它無法正常工作。使用C#代碼IM是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
XNamespace ns = "http://www.test.net/author/1.0";
XDocument doc = XDocument.Load("test.xml");
var allElements = doc.Descendants();
foreach (var element in allElements)
Console.WriteLine(allElements);
Console.ReadLine();
}
}
}
輸出IM目前得到的是:
我已經看過了堆棧溢出的答案,但沒有什麼似乎正是我需要和那些我試過也沒有工作。不知道是否有更簡單的方法來做到這一點?
幫助將不勝感激
謝謝嗯,這就是輝煌。我也試圖輸出到一個txt文件,但沒有太多的運氣。我試過FileStream filestream = new FileStream(「out.txt」,FileMode.Create); var streamwriter = new StreamWriter(filestream); streamwriter.AutoFlush = true; Console.SetOut(streamwriter); Console.SetError(streamwriter);但它似乎沒有工作。有任何想法嗎? – FreshX
嗨s.fry如果這個答案解決了你的問題,請考慮通過點擊複選標記來接受它。 只需使用console.write()的streamwriter.Write()instad; – mmm
謝謝嗯,真的很有幫助,我已將你的回答標記爲答案 – FreshX