xmlnode = xmldoc.CreateElement(dRow.ItemArray.GetValue(0).ToString());
xmlroot.AppendChild(xmlnode);
xmlnode.InnerText = sub;
4
A
回答
1
標題是您的答案。你不能在名字中使用'='。
4
看看dRow.ItemArray.GetValue(0).ToString()
的值。這聽起來像它不是一個有效的元素名稱,由於包含=
符號。
創建一個名稱從數據動態給出的元素相對較少。以這種方式指定元素的內容更爲常見。
你究竟想達到什麼目的?你的行中有什麼?
5
您可以使用:
string name = XmlConvert.EncodeName(dRow.ItemArray.GetValue(0).ToString());
獲得安全編碼的名稱,然後
xmlnode = xmldoc.CreateElement(name);
然而,正如喬恩所指出的那樣,這非常不尋常 - 而且編碼名稱並不美觀;例如a=b
變爲a_x003D_b
。
1
當您嘗試將Microsoft目錄導出爲XML時,生成的文件無法導入,並且您收到以下錯誤消息 「XML文件路徑/文件名在行中包含錯誤。」「名稱包含無效字符。」 如果使用Microsoft Visual Studio .NET驗證XML目錄,則會收到以下錯誤消息: 「The'('character,hexadecimal value 0x28,can not begin a name。Line#,Position#」 發生此問題是因爲Commerce Server導出不編碼以下特殊字符:
The range 0x0021 – 0x002F includes ! 「 # $ % & ‘ () * + , - ./
The range 0x03A – 0x0040 includes : ; <=> ? @
The range 0x007B – 0x007E includes { | } ~
The range 0x005B – 0x005E [ \ ] ^**
相關問題
- 1. ';'字符,十六進制值0x3B,不能包含在名稱中
- 2. '。'字符十六進制值0x00不能包含在名稱中
- 3. 在「:」字符,十六進制值0x3A,不能包含在$名稱
- 4. XmlException爲'/'字符十六進制值0x2F不能包含在名稱
- 5. 在 ':' 字符,十六進制值0x3A,不能包含在屬性名
- 6. 插入/替換散列值:「十六進制字符串包含非十六進制字符」
- 7. 如何將包含十六進制值的字符串轉換爲PHP中的十六進制值?
- 8. 轉換十六進制字符串十六進制值
- 9. 十六進制字符?
- 10. 指定十六進制值爲字符
- 11. 字符串到十六進制值
- 12. 十六進制值的字符串格式爲十六進制數字排序
- 13. 使用十六進制值操作時不能使用十六進制功能
- 14. 翻譯包含二進制值,以十六進制
- 15. sysprocesses程序名不包含十六進制ID
- 16. 將字符串轉換爲十六進制到十六進制
- 17. 十六進制字符串到十六進制整數
- 18. C# - 轉換十六進制值的字符串爲十六進制
- 19. 十六進制值
- 20. 從十六進制字符串轉換爲十六進制字符數組
- 21. 字符串爲十六進制和十六進制轉換爲字符串
- 22. 十六進制值在Android
- 23. Python包字符串ascii十六進制值
- 24. 拆分包含十六進制字符串轉換成單獨的值
- 25. 如何檢查是否字符串包含特定的十六進制值
- 26. 字符以十六進制在JavaScript
- 27. 0x02,0x03十六進制字符在objective-c
- 28. 將含有十六進制數字
- 29. 當我嘗試解析xml時,名稱不能以':'字符開頭,其值爲十六進制值0x3A「
- 30. C#Xml - 無效的名稱字符; ''字符不能包含在名稱中