首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getElementsByTagName不工作

getElementsByTagName不工作
EN

Stack Overflow用户
提问于 2011-09-14 17:36:11
回答 2查看 5.7K关注 0票数 4

下面是代码的简单部分:

代码语言:javascript
复制
String test = "<?xml version="1.0" encoding="UTF-8"?><TT_NET_Result><GUID>9145b1d3-4aa3-4797-b65f-9f5e00be1a30</GUID></TT_NET_Result>"

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();        
Document doc = dbf.newDocumentBuilder().parse(new InputSource(new StringReader(test)));                    
NodeList nl = doc.getDocumentElement().getElementsByTagName("TT_NET_Result");

问题是我没有得到任何结果-- nodelist变量"nl“是空的。会出什么问题呢?

EN

回答 2

Stack Overflow用户

发布于 2011-09-14 17:37:02

请求的是document元素下的元素,但TT_NET_Result是document元素。如果你只是打电话给

代码语言:javascript
复制
NodeList nl = doc.getElementsByTagName("TT_NET_Result");

那么我怀疑你会得到你想要的结果。

票数 6
EN

Stack Overflow用户

发布于 2017-11-03 22:49:59

这是对这个老问题的另一个回答。我今天在我的代码中遇到了类似的问题,实际上我一直在读/写XML。由于某种原因,我忽略了一个主要事实。如果您想要使用

代码语言:javascript
复制
NodeList elements = doc.getElementsByTagNameNS(namespace,elementName);

您需要使用支持名称空间的工厂来解析您的文档。

代码语言:javascript
复制
private static DocumentBuilderFactory getFactory() {
    if (factory == null){
        factory = DocumentBuilderFactory
                .newInstance();
        factory.setNamespaceAware(true);
    }
    return factory;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7414184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档