我使用System.Xml.Linq;
来匹配xml文档中的Xpath。 XElement
和SaveOptions
都来自System.Xml.Linq;
。
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("ns", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-03T16:54:46");
XElement docRfsid = XElement.Parse(content);
//if (docRfsid.XPathSelectElement("//ns:RFSID", nsmgr).Value != null)
if (Regex.Match(docRfsid.ToString(), "RFSID", RegexOptions.IgnoreCase).Success)
{
projData.RfsId = docRfsid.XPathSelectElement("//ns:RFSID", nsmgr).Value.ToString();
}
XElement doc_Financial = XElement.Parse(content);
string resultFinancial = doc_Financial.XPathSelectElement("//ns:Financial", nsmgr).ToString(SaveOptions.DisableFormatting);
我只想删除System.Xml.Linq;
dll,因为我只能使用.net framework 2.0。
我还可以使用其他替代方法System.Xml.Linq;
。
答案 0 :(得分:1)
是。使用System.Xml.XmlDocument,特别是SelectNodes()方法,DocumentElement属性或任何XmlElement实例。此方法接受XPath并返回匹配的XmlElements列表(无论它们是节点(XmlNode)还是属性(XmlAttribute))。这是基于旧的COM XmlDocument对象,并且可以在框架的1.1版本之前使用。
答案 1 :(得分:1)
的System.Xml
像
这样的东西XmlDocument doc = new XmlDocument();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("ns", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-03T16:54:46");
XmlNode financialNode = doc.DocumentElement.SelectNode("ns:Financial",nsmgr);
strring resultFinancial = null;
if (financialNode != null)
{
resultFinancial = financialNode.InnerText;
}
排序。