下面的代码在编组XML时奇怪地将xmlns属性添加到根元素。根据我的阅读,不应该显式设置xmlns属性。但生成的XML包含xmlns属性:
move_uploaded_file($file_tmp,"../complains_photos/".date("d-m-Y").".".$file_ext);
尝试使用XMLSecTool验证XML签名时,收到以下错误:
org.xml.sax.SAXParseException:前缀" xml"不能绑定任何 命名空间除了通常的命名空间命名空间也不行 for" xml"绑定到" xml"。
以外的任何前缀
我可以使用有效的xmlns属性值,还是我错误地使用了库?
<?xml version="1.0" encoding="UTF-8"?>
<ExampleElement xmlns="http://www.w3.org/XML/1998/namespace" ID="id1234">
...
答案 0 :(得分:2)
您的命名空间未正确设置。另请参阅xml namespace
在此处添加命名空间:
elementToSign := &etree.Element{
Tag: "ExampleElement",
Space: "xml",
}
elementToSign.CreateAttr("ID", "id1234")
添加的行将通过验证。使用XML Validator
进行测试