奋发的向日葵 2023-02-17 13:58 采纳率: 33.3%
浏览 41

java xml解析:获取被注释的值

#解析xml文件,希望获取到被注释的内容,注释是放在子节点后面的;比如我想获取 T302后面被注释的值:1,应该要怎么写了


```xml
<class>
    <T302>2</T3><!--1-->
    <T320ForLoadBalance>1</T320ForLoadBalance><!--10-->
    <T304ForEutran>4</T304ForEutran><!--500-->
    <T304ForGeran>4</T304ForGeran><!--2000-->
    <T320ForOther>5</T320ForOther><!--120-->
</class>

```

  • 写回答

3条回答 默认 最新

  • 程序yang 全栈领域优质创作者 2023-02-17 14:52
    关注

    仅供参考:

    File file = new File("your_file_path.xml");
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document document = db.parse(file);
    
    NodeList nodeList = document.getElementsByTagName("class").item(0).getChildNodes();
    
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
    
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            String tagName = node.getNodeName();
            String textContent = node.getTextContent();
            String comment = null;
    
            Node nextSibling = node.getNextSibling();
            if (nextSibling != null && nextSibling.getNodeType() == Node.COMMENT_NODE) {
                comment = nextSibling.getNodeValue();
            }
    
            if (comment != null) {
                System.out.println(tagName + ": " + textContent + " (comment: " + comment + ")");
            }
        }
    }
    

    上面的代码假定您的XML文件的根元素为。该代码首先获取根节点下的所有子节点,并检查它们是否是元素节点。如果是元素节点,则获取该节点的标签名和文本内容。然后,它检查该元素节点的下一个兄弟节点是否为注释节点。如果是,则获取注释节点的值。最后,将元素节点的标签名、文本内容和注释值打印到控制台。

    评论

报告相同问题?

问题事件

  • 修改了问题 2月17日
  • 修改了问题 2月17日
  • 创建了问题 2月17日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表