当前位置: 首页 > 面试题库 >

Java DOM getElementByID

胡桐
2023-03-14
问题内容

我在Java中使用DOM解析器将子节点添加到现有节点中。

我的XML是

<?xml version="1.0" encoding="iso-8859-1"?>
 <chart> 
<chart renderTo="pieContainer" defaultSeriesType="pie" zoomType="xy" plotBackgroundColor="null" plotBorderWidth="null"  plotShadow="false"></chart>
<legend id="legendNode">
  <align>center</align>
  <backgroundColor>null</backgroundColor>
  <borderColor>#909090</borderColor> 
  <borderRadius>25</borderRadius>
</legend>
 </chart>

有什么方法可以直接在现有节点下添加子节点?我可以使用这样的东西吗?

Node myNode = nodesTheme.item(0);
this.widgetDoc.getElementById("/chart/legend").appendChild(myNode);

我的密码

import org.w3c.dom.*;
import javax.xml.parsers.*;
public class TestGetElementById {
    public static void main(String[] args) throws Exception {

        String widgetXMLFile = "piechart.xml";
        DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();

        domFactory.setNamespaceAware(true);
        DocumentBuilder docBuilder = domFactory.newDocumentBuilder();
        Document doc = docBuilder.parse(widgetXMLFile);
        Node n = doc.getElementById("/chart/legend");
        //Node n = doc.getElementById("legendTag");

        Element newNode = doc.createElement("root");
        n.appendChild(newNode);
    }
}

问题答案:

getElementById是专门用于按其id属性检索DOM元素。尝试以下方法:

this.widgetDoc.getElementById("legendNode").appendChild(myNode);

有关检索DOM节点的其他方法,请查看querySelectorquerySelectorAll



 类似资料:

相关阅读

相关文章

相关问答