向XElement添加XML字符串
本文关键字:字符串 XML 添加 XElement | 更新日期: 2023-09-27 18:13:58
嗨,我需要从字符串创建一个XElement,该字符串可以是xml也可以是普通字符串。
这段代码 var doc = new XDocument(
new XElement("results", "<result>...</result>")
);
生产这
<results><result></result></results>
但是如果字符串是XML,那么我需要合适的XML
<results><result>...</result></results>
除了XElement.Parse()之外,还有什么想法吗?因为如果它是纯文本,它会抛出异常。
看我的回答是否有一个XElement等价于XmlWriter.WriteRaw?
本质上,只有当您知道内容已经是有效的XML时,才替换占位符。
var d = new XElement(root, XML_PLACEHOLDER);
var s = d.ToString().Replace(XML_PLACEHOLDER, child);
我不知道是否有其他方法,这看起来也不是最好的方法,但你可以这样做:
object resultContent;
if (condition)
{
//if content is XmlElement
resultContent = new XElement("result", "....");
}
else
{
resultContent = "Text";
}
XDocument xDoc = new XDocument(new XElement("results", resultContent));
这样做如何:
XElement.Parse(String.Format("<Results>{0}</Results>",possibleXMLString));
…在有人反对OP提到的使用. parse()方法之前,请注意,这不是提到的用法。