cs
public static XmlElement[] FuzzyFindNode(string xmlPath, string key, string value=null)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
string xpath = $"//节点名字[contains(@{key},'{value}')]";
XmlNodeList nodes = xmlDoc.SelectNodes(xpath);
XmlElement[] eles = nodes.Cast<XmlElement>().ToArray();
return eles;
}
示例:
XML
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J.K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
doc.Load("books.xml");
XmlNodeList nodes = doc.SelectNodes("//book[contains(title, 'Harry')]");
nodes就是模糊查找结果