Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用linq to xml使用单引号保存xml元素的属性值_C#_Xml_.net 3.5_Linq To Xml - Fatal编程技术网

C# 使用linq to xml使用单引号保存xml元素的属性值

C# 使用linq to xml使用单引号保存xml元素的属性值,c#,xml,.net-3.5,linq-to-xml,C#,Xml,.net 3.5,Linq To Xml,如何使XDocument对象使用单引号保存元素的属性值?我不确定LINQ to XML的任何格式选项是否允许您指定该值。你为什么要这么做?这是一种非常糟糕的XML处理程序,它会关心它…如果绝对有必要使用单引号,您可以将XML文档写入字符串,然后使用字符串替换将单引号更改为双引号。只要您在匹配对中使用单引号和双引号,并且嵌套正确,符合标准的XML处理器不会关心您使用哪种样式。您的问题表明您打算使用不符合标准(甚至可能不支持XML)的工具来处理XML输出。这充其量只是一个冒险的提议,尽管我认识到工作

如何使XDocument对象使用单引号保存元素的属性值?

我不确定LINQ to XML的任何格式选项是否允许您指定该值。你为什么要这么做?这是一种非常糟糕的XML处理程序,它会关心它…

如果绝对有必要使用单引号,您可以将XML文档写入字符串,然后使用字符串替换将单引号更改为双引号。

只要您在匹配对中使用单引号和双引号,并且嵌套正确,符合标准的XML处理器不会关心您使用哪种样式。您的问题表明您打算使用不符合标准(甚至可能不支持XML)的工具来处理XML输出。这充其量只是一个冒险的提议,尽管我认识到工作环境和客户需求可能并不总是为您提供使用正确工具的选项。我有一些同事使用sed和grep来筛选和修改XML文件,他们通常可以侥幸逃脱。但是,如果您有任何选择,我建议您在整个管道中使用支持XML的工具处理XML文件,直到数据不再以XML标记为止。否则会导致系统比使用XML感知工具进行所有XML处理时更加脆弱


如果你做不到这一点,那么JacobE的建议可能是你最好的选择。

不幸的是,如果文档在其他地方包含双引号,这将非常棘手……
Assert.Equals(@“我期望的xml”,xdoc.ToString())
-C#raw字符串最不擅长的一件事就是引号。如果我们有单引号的属性,这会更好。@SebastianRedl:嗯。。。我不认为这是一个更通用的API特性的好理由。我们可以同意不同意见。是的,可能还不够重要。这就是我找到这个老问题的原因。