【发布时间】:2010-08-25 21:25:26
【问题描述】:
我有一些代码接收一些 XML,并且可能会出现 CDATA 标记元素。一个标志被传递到方法中,说明 CDATA 标记是否应该存在,如果标志为 false,则 CDATA 标记如果存在则应删除,如果不解析 query.Value,我将如何做到这一点?
private static void CDataTagUtility(XmlDocument catalog, XElement newData, bool addCdataTag)
{
XElement query = newData.Element("Query").Element("CommandText");
if (addCdataTag)
{
XmlCDataSection encapsulatedQuery = catalog.CreateCDataSection(query.Value);
try
{
query.SetValue(encapsulatedQuery.OuterXml);
}
catch (ArgumentException exc) { /*Thrown due to CDATA tag already present - ignore*/ }
}
else //check for cdata tag - remove if present
{
//How do I remove the CDATA encapsulation tag???
}
}
【问题讨论】:
-
为什么要删除它?事实上,你为什么要操纵 CDATA?
-
这是一个XML编辑工具。不是我们在操纵 CDATA,该工具是操纵 CDATA 的一种门户药物。
标签: c# xml linq-to-xml