繁体   English   中英

名称不能以''字符开头,十六进制值0x20

[英]Name cannot begin with the ' ' character, hexadecimal value 0x20

为此,我经历了很多回答,但无法解决问题,因此提出了要求。

我在字符串中获取我的xml。 它由“ <6”作为某些节点值中的内容。

结果我得到一个例外

名称不能以''字符(十六进制值0x20)开头。 3270行,位置54。

这是代码:

string patternToReplaceAnd = "&(?![a-z#]+;)";
Regex reg = new Regex(patternToReplaceAnd);
xml = reg.Replace(xml, "&amp;");
XDocument xDoc = XDocument.Parse(xml);

谁能帮我吗?

您说要以字符串形式获取XML。 你不是。 您正在字符串中获取垃圾。

如果垃圾对您确实很重要,则可以尝试将其转换为XML。 您如何做取决于它的严重程度,我们无法真正判断。

更好的是:拒绝接受伪劣商品。 回到供应商,并告诉他们生成真实的XML。

我确实意识到这个问题很旧,但是今天我遇到了同样的问题,希望我的回答对将来可能会遇到此问题的人有所帮助。

问题是包含<后跟space 您将不得不用&lt;替换该内容&lt; 因此它不会被识别为格式错误的xml start tag

xml = xml.Replace('< ',"&lt; "); //make sure you include the space after < to avoid replacing actual tags.
XDocument xDoc = XDocument.Parse(xml);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM