我怀疑在c#中sgmlReading/XmlWriting,我正在写几个基于条件的startElement,EndElement。如何删除开始/结束元素
如果我不想写特定的标签,但我需要内在的Xml,如何去除标签?,请帮助解决这个问题!
这是我的示例XML:
<BODY>
<p><l>bla bla</li></p>
<h1><p2>bla bla</p2></h1>
<xyz>bla bla<p3>bla bla</p3>bla bla</xyz>
<abc><p3>bla bla</p3></abc>
</BODY>
在这里,我通过一个读取XML元素之一,如果元素的名称是“某某”和“ABC”,我不想写的元素名称。
public class XMLWriter : XmlTextWriter
{
//if element name this is following strings, i don't want to write element name.
public static string[] notAllowedTags = new string[] { "xyz", "abc"}
public override void WriteStartElement(string prefix, string localName, string ns)
{
bool doWrite = true;
string tagLocalName = localName;
foreach (string name in notAllowedTags)
{
if (name == tagLocalName)
{
doWrite = false;
break;
}
}
if (doWrite)
{
localName = tagLocalName;
openingElement = localName;
base.WriteStartElement(prefix, localName, ns);
}
else
{
//base.WriteStartElement(prefix, localName, ns);
//else condition i don't want to write element, if i keep empty,
}
}
//this is for write start element
public override void WriteEndElement()
{
}
}
感谢&问候,
萨兰
你可以把你的XML文件 –
这真的很难理解你要完成的任务。请提供您想要制作的示例。 –
K.B和Jim Mischel,我修改了我的问题,请帮我解决这个问题。 –