繁体   English   中英

如何删除xmlstring中所有子节点的父节点

[英]how to remove Parent node with all children in xmlstring

请帮我reomove整个标签ReadRequests中的xmlString。

我尝试如下删除所有子节点,但显示 ReadRequests。 我也想删除这个标签。

要求:

string postData = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<OTA_ReadRQ Version=""5.001="""" xmlns=""http:=""//www.opentravel.org/OTA/2003/05"">
<POS>
  <Source>
    <RequestorID MessagePassword=""$yncr00m3="""" ID=""sync-rooms="""" Type=""CHM=""""/>
  </Source>
</POS>
<UniqueID ID=""0002757404="""" ID_Context=""Book="""" />
<ReadRequests>
  <HotelReadRequest HotelCode=""00023642="""">
    <SelectionCriteria  Start=""2016-03-11T00:00:00="""" End=""2016-03-11T23:00:00=""""/>
  </HotelReadRequest>
</ReadRequests>
</OTA_ReadRQ>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(postData);
xmlDoc.DocumentElement["ReadRequests"].RemoveAll();
string  Getdata = xmlDoc.InnerXml;

回复:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_ReadRQ Version="5.001" xmlns="http://www.opentravel.org/OTA/2003/05">
  <POS>
    <Source>
      <RequestorID MessagePassword="$yncr00m3" ID="sync-rooms" Type="CHM" />
    </Source>
  </POS>
  <UniqueID ID="0002757404" ID_Context="Book" />
  <ReadRequests></ReadRequests>
</OTA_ReadRQ>

试试这个:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(postData);
//xmlDoc.DocumentElement["ReadRequests"].RemoveAll();
XmlNode node = xmlDoc.DocumentElement.GetElementsByTagName("ReadRequests")[0];
if (node != null)
{
    xmlDoc.DocumentElement.RemoveChild(node);
}
string Getdata = xmlDoc.InnerXml;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM