使用C#从xsd文件中删除特定标记(<;xs:any>;)

本文关键字:lt xs gt any xsd 文件 删除 使用 | 更新日期: 2023-09-27 17:59:42

我是XSD的新手。我有一个XSD文件,以下内容在XSD文件中出现了几次。

<xs:any namespace="##any" minOccurs="0" maxOccurs="unbound">
  <xs:annotation>
     <xs:documentation> blah blah blah</xs:documentation>
  </xs:annotation>
</xs:any>

我必须使用C#从XSD文件中删除这个部分,其中有这些"any"标记。我试过使用系统。Xml。架构但失败bcoz此代码段可以在任何级别。然后我尝试使用regex,它以"xs:any"开头,以"/xs:any"结尾,并带有角度制动器,但未能写出确切的模式。请帮我解决问题。它可能是系统。Xml。Schema或Regex或任何其他方式。

提前谢谢。

使用C#从xsd文件中删除特定标记(<;xs:any>;)

您可以使用LINQ to XML实现以下功能:

XNamespace xs = "http://www.w3.org/2001/XMLSchema";
var doc = XDocument.Load(your xsd file);
doc.Descendants(xs + "any").Remove();