【发布时间】:2017-10-26 07:53:04
【问题描述】:
我正在尝试使用此库创建已签名的 xml 分离签名文件:[opensbr]
我需要向 TransformChain 添加一个 xpath 过滤器,但是在调用 SignedXml.ComputeSignature 时会引发一个异常,即命名空间 xbrli 无效。
xpath:/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 中使用命名空间前缀?
【问题讨论】: