[英]Adding XML string to XElement
嗨,我需要从字符串创建XElement,它可以是xml或纯字符串。
这段代码
var doc = new XDocument(
new XElement("results", "<result>...</result>")
);
产生这个
<results><result></result></results>
但是,如果字符串是XML,那么我需要正确的XMl
<results><result>...</result></results>
XElement.Parse()之外的任何其他想法,因为如果它是纯文本,它将抛出异常?
请参阅我的答案, 是否存在与XmlWriter.WriteRaw等效的XElement?
本质上, 只有在您知道内容已经是有效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));
...并且在有人反对使用.Parse()方法(OP提到过)之前,请注意,这不是所提到的用法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.