例如,
在本文档中
< ?xml version="1.0" ? >
< SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://opcfoundation.org/webservices/XMLDA/1.0/"
xmlns:ns2="Service">
< SOAP-ENV:Body id="_0" >
如果我需要选择元素“Body”,我需要知道前缀“SOAP-ENV”。我怎样才能得到它?获取根元素并切掉冒号 (:) 对我来说似乎是一个肮脏的想法,我相信应该有一个巧妙的方法来做到这一点。 Google 没有帮助(可能是我没有在搜索正确的东西)。
最佳答案
如果您正在进行 XML 处理,则不需要知道前缀。
要选择 XML 文档中的节点,您不需要知道前缀。您需要知道命名空间,而不是前缀。
如果您正在处理 SOAP 文档,那么您知道 namespace 是 http://schemas.xmlsoap.org/soap/envelope/
。这就是您所需要的。在 XML 应用程序中,您可以分配自己的命名空间前缀。
关于c++ - 如何使用 MSXML 从 XML 文档中获取 namespace 前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2422155/