如何在C#中将字符串转换为有效的XML(带转换)?

时间:2016-01-11 09:39:43

标签: c# xml

如何使用C#将简单字符串转换为<body> <div style="width:800px;margin:0px auto"> <?php include('header.php') ?> <div style="margin-top:10px;background-color:#00ff00"> hello world </div> </div> </body> 元素内的有效XML

因此,如果我有字符串<root>,我需要将其转换为"Operation 2 > 3"

编辑:我没有表达清楚。有没有办法自动转换特殊的"<root>Operation 2 &gt; 3</root>"个字符?

3 个答案:

答案 0 :(得分:4)

string value="Operation 2 > 3";
string xmlValue= "<root>"+ value.Replace("<","&lt;").Replace("&", "&amp;")
                                                   .Replace(">", "&gt;")
                                                   .Replace("\"", "&quot;")
                                                   .Replace("'", "&apos;") + "</root>"

答案 1 :(得分:1)

通过这样做(使用System.Xml.Linq)

XElement el = new XElement("root");
el.Add(new XText("Operation 2 > 3"));
string sXML = el.ToString();    // Result: <root>Operation 2 &gt; 3</root>

您只需在内存中创建一个根节点,并用您想要的内容填充它。 XElement类将处理生成此有效XML文本所需的所有“转义”。

答案 2 :(得分:1)

试试这个:

使用System.Xml;

string s = "hello";
XmlDocument xml = new XmlDocument();
xml.LoadXml(string.Format("<root>{0}</root>", s));

您可以使用文字编辑变量。