我希望替换传入cXML文档中的DOCTYPE声明:
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.029/cXML.dtd">并最终得到<!DOCTYPE cXML>
我目前使用的是匹配的if cXML.Contains(matching value).Replace("DOCTYPE cXML");,问题是值是可变的。是否有通配符选项?
发布于 2016-12-07 18:35:45
string xml = @"<!DOCTYPE cXML SYSTEM ""http://xml.cxml.org/schemas/cXML/1.2.029/cXML.dtd"">
<cXml>
</cXml>
";
XDocument doc = XDocument.Parse(xml);
var name = doc.DocumentType.Name;
var docType = new XDocumentType(name, null, null, null);
doc.DocumentType.ReplaceWith(docType);
Console.WriteLine(doc.ToString());您需要创建新的XDocumentType,然后替换前一个。
发布于 2017-07-31 19:44:14
您可以在下面的代码示例中从cXML中删除和添加DOCTYPE
XmlDocument XDoc = new XmlDocument();
XDoc.Load(sXMLFile);
XmlDocumentType XDType = XDoc.DocumentType;
XDoc.RemoveChild(XDType); 与添加DocType相同的内容
https://stackoverflow.com/questions/41014114
复制相似问题