首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Java从节点获取名为comment的属性

使用Java从节点获取名为comment的属性
EN

Stack Overflow用户
提问于 2015-01-19 13:19:04
回答 3查看 65关注 0票数 0

我需要提取这些XML注释。尤其是标准注释。我是XML解析的新手。我目前使用的是标准的Java-XML-Parser javax.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     <criteria>
    <criteria operator="OR" comment="Operation system section">
      <extend_definition comment="SUSE Linux Enterprise Server 12 is installed" definition_ref="oval:org.mitre.oval:def:28211"/>
      <extend_definition comment="SUSE Linux Enterprise Desktop 12 is installed" definition_ref="oval:org.mitre.oval:def:28148"/>
    </criteria>
    <criterion comment="update-test-security-0 is earlier than 0:11.2" test_ref="oval:org.mitre.oval:tst:136394"/>
  </criteria>

如何提取评论?

EN

回答 3

Stack Overflow用户

发布于 2015-01-19 13:31:49

要只读取名为"comment“的所有属性,我建议通过XMLBeam使用XPath。(披露:我隶属于这个项目。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class ReadAttributes {
public static void main(String[] args) {
        List<String> comments = new XBProjector().io().stream(ReadAttributes.class.getResourceAsStream("data.xml")).evalXPath("//@comment").asListOf(String.class);
        System.out.println(comments);
        }
}

此程序打印输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Operation system section, SUSE Linux Enterprise Server 12 is installed, SUSE Linux Enterprise Desktop 12 is installed, update-test-security-0 is earlier than 0:11.2]
票数 0
EN

Stack Overflow用户

发布于 2015-01-19 13:34:14

如果您不需要将整个XML数据作为java对象,而只需要criterion属性,则可以使用XPath获取该属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
XPath xpath = XPathFactory.newInstance().newXPath();
return xpath.evaluate("/criteria/criterion/@comment", document);

如果您将XML放在字符串中,但不知道如何将其解析为文档,请看一下:How to convert XML (String) to a valid document?

票数 0
EN

Stack Overflow用户

发布于 2015-01-19 13:57:27

您还可以使用JDK的简单XPath特性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String[] args = new String[]{ "//*[@comment]" };
XPathFactory xpf = XPathFactory.newInstance();
XPath xpath = xpf.newXPath();
for( String s: args ){
    XPathExpression xpExp = xpath.compile( "count("+s+")" );
    String res = xpExp.evaluate( source );
    System.out.println( s + ": " + res );
    int n = Integer.parseInt( res );
    for( int i = 1; i <= n; i++ ){
        xpExp = xpath.compile( "(" + s + ")[" + i + "]/@comment" );
        System.out.println(  "comment: " + xpExp.evaluate( source ) );
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28025560

复制
相关文章
快速获取子图根节点的属性
•一、问题背景•二、构建样例多子图数据•三、实现根节点的属性查找•四、将子图查找的GQL封装为一个函数•五、总结
马超的博客
2022/09/02
2.4K0
快速获取子图根节点的属性
Java xml节点属性的修改[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 Java xml节点属性的修改 修改xml节点的属性,我们先建立一个修改之前的xml文档: <?xml version=”1.0″ encoding=”GB2
全栈程序员站长
2022/09/13
2K0
Mysql 获取表的comment 字段
查看获取表内字段注释: > show full columns from tablename; 或是  show full fields from tablename; 或是,在元数据的表里面看 Select COLUMN_NAME 列名, DATA_TYPE 字段类型, COLUMN_COMMENT 字段注释 from INFORMATION_SCHEMA.COLUMNS Where table_name = 'companies'##表名 AND table_schema = 'testhuicard'##数据库名 AND column_name LIKE 'c_name'##字段名 查看表注释的方法: > show  create  table  tablename; 获取整个数据库的所有表信息(包含表名,表注释,表类型等等): > SELECT table_name, table_type, engine -> FROM information_schema.tables -> WHERE table_schema = 'db5' //table_schema是数据库名 -> ORDER BY table_name DESC; //该语句请求按逆向字母顺序列出数据库db5中的所有表,但仅显示三种信息:表名,表类型,以及表引擎。 INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息. > SELECT TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_NAME = 'sh_goods' AND TABLE_SCHEMA = 'sh_shop';//获取sh_shop 数据库中 sh_goods 表 的注释。 获取表注释或是 或者使用:show table status; Comment 就是表注释。 修改表的注释: alter table test1 comment '修改后的表的注释'; 修改字段的注释: alter table test1 modify column field_name int comment '修改后的字段注释'; 
ydymz
2018/09/10
6K0
【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
创建 XmlParser 解析器 , 传入 Xml 文件对应的 File 对象 ;
韩曙亮
2023/03/30
7.2K0
【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
xpath库详解xpath入门获取所有节点 //子节点 /父节点 ..属性匹配 @文本获取按序选择节点轴选择
python爬虫抓取网页内容,需要对html或xml结构的数据进行解析,如果用正则,单是写正则表达式就让很多望而生畏了。
章鱼喵
2018/09/26
25.3K0
xpath库详解xpath入门获取所有节点 //子节点 /父节点 ..属性匹配 @文本获取按序选择节点轴选择
java解析xml格式的节点属性值
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137716.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/05
2.2K0
使用%XML.TextReader 节点属性
如前所述,类中的%XML.TextReader解析XML文档并创建一个text reader对象,该对象由一组与文档组件相对应的节点组成;节点类型在本章前面的“文档节点”中进行了描述。
用户7741497
2022/07/05
1K0
java根据子节点获取它对应的所有父节点_java根据父节点查找子节点
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/01
6.9K0
使用反射获取对象属性的坑
前两天遇到一个坑,当时我通过使用getDeclaredFields()函数获取对象属性时发现一个问题:
阿超
2022/08/16
3.5K0
使用反射获取对象属性的坑
java 反射机制--根据属性名获取属性值
1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plain copy /**      * 根据属性名获取属性值      *       * @param fieldName      * @param object      * @return      */   private String getFieldValueByFieldName(String fieldName, Object object) {   try {              Fiel
庞小明
2018/07/06
5.3K0
Java反射,通过对象获取属性及属性值
在工作中,我们有时候会有很多重复的东西,唯一不一样的,可能就是对象不同,取字段什么的都是一样的。这个时候,就要不断的复制,然后修改对象。太狗屎了。那么有没有不用到处复制的呢?可以使用到Java反射来实现。
凯哥Java
2022/12/16
4.4K0
Java反射,通过对象获取属性及属性值
java反射获取object类中的属性
参考资料:http://blog.csdn.net/nihaoqiulinhe/article/details/53838874
用户7886150
2021/02/02
2.5K0
Java 获取对象全部属性 包括 父类属性
异常信息 ​ 程序会告诉你无法这么转换,所以这里要注意 ​ 第二种的参数就填你要转换的数组就可以,但是他要求数组的长度是等于链表的长度的,否则会编译不通过,所以得到链表之后在初始化数组即可
庞小明
2019/07/28
2.6K0
71 - 使用Beautiful Soup 的节点选择器获取节点信息
如何使用Beautiful Soup 的节点选择器获取节点信息 from bs4 import BeautifulSoup html = ''' <html> <head> <title>获取节点信息</title> </head> <body> <div> <ul> <li class="item1" value1="1234", value2="hello world"><a href="https://www.xxx.com">ruochen</a></li>
ruochen
2021/06/13
1.3K0
71 - 使用Beautiful Soup 的节点选择器获取节点信息
php获取所有节点的父节点和子节点
根据子节点获取所有的父节点以及父节点的父节点.. <?php $src = '[{"id":"1","name":"媒体(白名单)","pid":"0"},{"id":"2","name":"党媒公
黄啊码
2020/05/29
6.2K0
vue 项目中从session中获取对象,并且使用里面的属性
django后端传给前段一个json对象,vue接收后如何保存在session中,并且可以在其他的页面从session中拿出对象,用这个对象里面的属性
一写代码就开心
2021/06/17
5K0
vue 项目中从session中获取对象,并且使用里面的属性
JavaScript 学习-32.HTML DOM 获取和修改属性节点
前言 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 每个 HTML 元素是元素节点 HTML 元素内的文本是文本节点 每个 HTML 属性是属性节点 注释是注释节点 属性节点 比如有一个p标签元素节点 <p id="p2" class="text-center" >点我看看</p> 那么它有2个属性节点:id="p2"和class="text-center" 和一个文本节点点我看看 获取元素的属性 | 方法                      
上海-悠悠
2022/05/30
1.3K0
WordPress 评论表的 comment_type 字段的默认值从空字符串改成 'comment'
WordPress 之前评论表的 comment_type 字段的默认值一直是空字符,为了更加的语义化,从 5.5 版本开始,WordPress 已经将强制设置为 "comment",这项改动是为了以后更加的方便实现自定义 comment_type 注册。
Denis
2023/04/14
1.1K0
C# 使用反射获取私有属性的方法
本文告诉大家多个不同的方法使用反射获得私有属性,最后通过测试性能发现所有的方法的性能都差不多
林德熙
2022/08/04
1.7K0
java:通过javadoc API读取java源码中的注释信息(comment)
如何从java源码中读取注释信息?(注意不是指通过反射读取annotation类,是comment,就是程序员在源码中加的注释) 比如: /** * 使用当前类的class lo
10km
2018/01/03
6.2K0

相似问题

如果属性名为“框架”,如何获取属性节点

10

Oracle:处理名为COMMENT的字段

13

是否可以使用Java API从工作流任务中获取bpm:comment属性?

14

使用Java从XML中按属性值获取子节点

21

如何使用java获取xml节点的属性值

70
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文