Conatainsが終了した非常にオープンです。タグと属性の順序はどうですか...同じ順序でなければならず、タグの深さはどうですか?テンプレートに一致するタグがxmlに存在する場合(深さとは無関係)、次の拡張メソッドを使用できます。
public static bool SupportsTemplate(this XmlDocument xmlDoc, XmlNode template) {
bool found = true;
var nodes = template.ChildNodes;
foreach(XmlNode node in nodes){
found = xmlDoc.SelectSingleNode("//" + node.Name) == null ? false : true;
if (!found) break;
if (node.HasChildNodes)
found = xmlDoc.SupportsTemplate(node);
if (!found) break;
}
return found;
}
&最適化されていないコードをテストしていない(xmlDoc.SupportsTemplate(template.DocumentElement)のように呼び出します。似たような実装します。あなたは、同様の属性を確認するために、これを拡張することができます。
私はXMLスキーマファイルを使用してreccommedう(XSD)の代わりに、あなたが選択肢を持っていない場合は、参照してください:http://en.wikipedia.org/wiki/XML_schema – MadcoreTom
特定の値を持つ特定のタグと属性が存在することを確認したいまた、XMLにはすでに変更が不可能なXSDがあります。何かが足りないかもしれない場合は、XSDの使用方法を – Rishabh