我正在尝试使用此库创建签名的 xml 分离签名文件:[opensbr]
我需要向 TransformChain 添加一个 xpath 过滤器,但是在调用命名空间无效时SignedXml.ComputeSignature
会引发异常。xbrli
路径:/xbrli:xbrl//*[not(local-name()='DocumentAdoptionStatus' or local-name()='DocumentAdoptionDate' and namespace-uri()='http://www.nltaxonomie.nl/8.0/basis/venj/items/bw2-data')]
构建转换(根据 Microsoft 示例):
public static XmlDsigXPathTransform CreateXPathTransform(string XPathString)
{
XmlDocument doc = new XmlDocument();
XmlElement xPathElem = doc.CreateElement("XPath");
xPathElem.InnerText = XPathString;
XmlDsigXPathTransform xForm = new XmlDsigXPathTransform();
xForm.LoadInnerXml(xPathElem.SelectNodes("."));
return xForm;
}
xpath 和 xml 文件都有效。
如何使用命名空间前缀XmlDsigXPathTransform
?