首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# XML 操作:XElement 節點名稱不能以數字開頭導致異常退出

     編輯:程式設計綜合問答

現象


XElement day = new XElement("2015-8-20"); // 非法名稱
root.Add(day); // 拋出 XmlException,直接跳出函數像 return

無 try-catch 時程序崩潰;有 try-catch 但未捕獲具體異常類型,表現為「語句未執行」。

根因

XML 規範:元素名稱必須以字母或下劃線開頭,不能以數字、標點開始。`2015-8-20` 以 `2` 開頭,構造 `XElement` 即拋出 `System.Xml.XmlException`。

正確寫法


// 方案 1:屬性存日期
XElement day = new XElement("Day", new XAttribute("Date", "2015-8-20"));

// 方案 2:合法元素名 + 值
XElement day = new XElement("Date", "2015-8-20"); // 名稱 "Date" 合法

// 方案 3:編碼前綴(不推薦)
XElement day = new XElement("_2015-8-20");

調試技巧

  • 捕獲 `XmlException` 並輸出 `Message`,立即定位非法名稱。
  • 單元測試覆蓋 XML 構造邊界。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved