我期待,以取代從傳入cXML的文檔的DOCTYPE聲明:更換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");
的問題是,該值變量。 是否有通配符選項?
我期待,以取代從傳入cXML的文檔的DOCTYPE聲明:更換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");
的問題是,該值變量。 是否有通配符選項?
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,然後替換上一個。
你行你下面的代碼示例,以消除和cXML的加入DOCTYPE
XmlDocument XDoc = new XmlDocument();
XDoc.Load(sXMLFile);
XmlDocumentType XDType = XDoc.DocumentType;
XDoc.RemoveChild(XDType);
同樣的東西添加DOCTYPE的
在你有XML作爲字符串值乞討? – mybirthname
是的,我願意,謝謝 – JohnL
您可以查看我的答案。告訴我,如果有什麼不明確的。 – mybirthname