3 回答

TA貢獻1827條經驗 獲得超8個贊
您應該添加命名空間并在Descendants
調用中使用它:
XNamespace urn="urn:equipment-type"; XDocument.Load(filePath).Descendants(urn + "Param").ToList().ForEach(...
如果沒有名稱空間,我也無法枚舉任何結果。

TA貢獻1796條經驗 獲得超4個贊
對我來說,問題在于你編寫文件的方式。嘗試替換它:
StreamWriter sw = new StreamWriter(@"C:\Users\livingss\Desktop\XML - CSV\Result.csv"); sw.WriteLine(sb.ToString()); sw.Close();
接著就,隨即:
var path = @"C:\Users\livingss\Desktop\XML - CSV\Result.csv"; File.WriteAllText(path, sb.ToString());

TA貢獻1806條經驗 獲得超8個贊
就這樣吧!
StringBuilder sb = new StringBuilder();
string delimiter = ",";
XmlDocument doc = new XmlDocument();
doc.Load(@"file.xml");
var paramElements = doc.GetElementsByTagName("Param");
for (int i = 0; i < paramElements.Count; i++)
{
var currentElt = paramElements.Item(i);
sb.Append(currentElt.Attributes.GetNamedItem("Name").Value);
sb.Append(delimiter);
sb.Append(currentElt.Attributes.GetNamedItem("PNum").Value);
sb.AppendLine();
}
var path = @"Result.csv";
File.WriteAllText(path, sb.ToString());
- 3 回答
- 0 關注
- 166 瀏覽
添加回答
舉報