如何使用 StAX XML 解析器捕获属性事件?

2024-02-24

我尝试使用 StAX XML 解析器解析 XML 文件。它给我START_ELEMENT and END_DOCUMENT事件但没有ATTRIBUTE事件。我怎样才能收到ATTRIBUTE使用 StAX 解析器的事件?

My XML:

    <?xml version="1.0" encoding="utf-8"?>
    <posts>
        <row name="Jonas"/>
        <row name="John"/>
    </posts>

我的 StAX XML 解析器:

public class XMLParser {

    public void parseFile(String filename) {
        XMLInputFactory2 xmlif = (XMLInputFactory2) XMLInputFactory2.newInstance();
        xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE);
        xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
        xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);
        xmlif.configureForSpeed();

        XMLStreamReader2 xmlr = (XMLStreamReader2) 
                xmlif.createXMLStreamReader(new FileInputStream(filename));

                int eventType;
                while(xmlr.hasNext()) {
                    eventType = xmlr.next();
                    switch(eventType) {
                    case XMLStreamConstants.START_ELEMENT: 
                        if(xmlr.getName().toString().equals("row")) {
                            System.out.println("row");
                        }
                        break;
                    case XMLStreamConstants.ATTRIBUTE: 
                        System.out.println("Attribute");
                        break;
                    case XMLStreamConstants.END_DOCUMENT:
                        System.out.println("END");
                        xmlr.close();
                        break;
                    }
                }

    }

    public static void main(String[] args) {
        XMLParser p = new XMLParser();
        String filename = "data/test.xml";
        p.parseFile(filename);
    }

}

进入后即可获取属性START_ELEMENT状态。请参阅getAttribute*上的方法XMLStreamReader:

  • http://download.oracle.com/javase/6/docs/api/javax/xml/stream/XMLStreamReader.html#getAttributeValue%28java.lang.String,%20java.lang.String%29 http://download.oracle.com/javase/6/docs/api/javax/xml/stream/XMLStreamReader.html#getAttributeValue%28java.lang.String,%20java.lang.String%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 StAX XML 解析器捕获属性事件? 的相关文章

  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 添加动态数量的监听器(Spring JMS)

    我需要添加多个侦听器 如中所述application properties文件 就像下面这样 InTopics Sample QUT4 Sample T05 Sample T01 Sample JT7 注意 这个数字可以多一些 也可以少一些
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • 如何从 MySQL 数据查询创建 XML 文件?

    我想知道一种仅使用 MySQL 查询创建 XML 文件的方法 根本不使用任何脚本语言 有关于这个主题的书籍 教程吗 UPDATE 我想澄清一下 我想使用 sql 查询将 XML 数据转发到 php 脚本 Here s 关于从 MySQL S
  • 使用 xmllint 检查 XML 语法

    我在处理某些 XML 打印文件时遇到问题 其中源系统忽略将某些字符转换为其等效的 XML 语法 例如 未转换为 amp 有没有办法用 xmllint 捕获这个 我不需要使用 XSD 检查一般树结构 xmllint noout your te
  • Android 自定义视图不能以正确的方式处理透明度/alpha

    我正在绘制自定义视图 在此视图中 我使用两个不同的绘画和路径对象在画布上绘画 我基本上是在绘制两个重叠的形状 添加 Alpha 后 视图中重叠的部分比图像的其余部分更暗 这是不希望的 但我不知道如何解决它 这是我的代码片段 用于展示我如何在
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • Java套接字:在连接被拒绝异常时重试的最佳方法?

    现在我正在这样做 while true try SocketAddress sockaddr new InetSocketAddress ivDestIP ivDestPort downloadSock new Socket downloa
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • 如何让spring为JdbcMetadataStore创建相应的schema?

    我想使用此处描述的 jdbc 元数据存储 https docs spring io spring integration docs 5 2 0 BUILD SNAPSHOT reference html jdbc html jdbc met
  • 在java中实现你自己的阻塞队列

    我知道这个问题之前已经被问过并回答过很多次了 但我只是无法根据互联网上找到的示例找出窍门 例如this http tutorials jenkov com java concurrency blocking queues html or t
  • RSA OAEP、Golang 加密、Java 解密 -BadPaddingException:解密错误

    我正在尝试解密使用 RSA OAEP 在 Golang 中加密的字符串 但出现 BadPaddingException 解密错误 很难弄清楚我错过了什么 这是Golang加密方法 func encryptString rootPEM io
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • Java:拆箱整数时出现空指针异常?

    此代码导致空指针异常 我不知道为什么 private void setSiblings PhylogenyTree node Color color throws InvalidCellNumberException PhylogenyTr

随机推荐

  • jQuery 获取表的当前 rowIndex

    单击时我的表格单元格会突出显示 我需要找到突出显示的单元格的 rowIndex 我尝试这样做 ui state highlight index Results to 0 我也尝试过这个 td click function var row i
  • Next js 网站的重新加载重定向到 Apache 服务器上的主页

    我有一个静态的 Next js 网站托管在 Apache 服务器 控制面板 上 起初当我重新加载页面时 它给了我一个 404 错误 但现在当我重新加载时 它总是转到主页 我尝试包含 htaccess文件放在我的公共文件夹中 但它不起作用 这
  • 如何使用 JSON 对象初始化 TypeScript 对象?

    我从对 REST 服务器的 AJAX 调用接收到一个 JSON 对象 该对象具有与我的 TypeScript 类匹配的属性名称 这是这个问题 https stackoverflow com questions 22875636 how do
  • Laravel 迁移到 mix 会删除无效的 NODE_OPTIONS 环境变量:不允许 --openssl-legacy-provider

    当我运行yarn run dev时 它编译没有任何问题 但是当我运行yarn run prod时 出现以下错误 Mix Compiled with some errors in 21 47s ERROR in js app js js ap
  • Selenium Webdriver C# element.Enabled 当元素仍处于禁用状态时评估为 true

    我的自动化测试过去运行顺利 但我们将 QA 环境移至不同的服务器 现在测试失败 因为它不断尝试单击仍在加载且变灰 禁用的元素 以下是在以前的服务器上运行良好的部分代码 while less than 7 seconds if driver
  • Angular2/Ionic2 中的 Google Drive APIgapi.client.drive

    我编写 Angular2 Ionic2 应用程序来显示列表并将文件上传到 Google Drive 使用 Google 登录工作正常 但是gapi client drive未定义 我应该做什么来解决它或者有方法代替 我安装了 npm ins
  • 重用意图安全吗?

    Android 文档将 Intent 定义为 包含要执行的操作的抽象描述的信息包 这表明您应该能够在需要时多次重用单个 Intent 对象 但我还没有看到任何示例表明这种情况 可以安全执行 是否有任何理由不执行以下操作 private fi
  • C# 运行时错误:“DataGridViewComboBoxCell 值无效”

    我花了一天的大部分时间来解决这个问题 但解决方案仍然困扰着我 我的 Winform 应用程序包含一个DataGridView其中两列是ComboBox下拉列表 奇怪的是 DataGridView似乎填充正确 但在填充时或每当有鼠标悬停或看似
  • 仅运行 ansible playbook 中的一项任务和处理程序

    如何从 Ansible playbook 运行单个任务以及在该任务成功完成时收到通知的处理程序 同时跳过相关 playbook 中的所有其他任务 目前我执行以下操作 ansible playbook start at task task1
  • 在空手道和放心之间选择

    尝试在 Karate 框架和 Rest Assured 之间进行选择以实现 API 自动化 其中包括 Rest API 和 GraphQL 我们还可以增强框架来执行 UI 自动化 我经历了寻找的一般过程 Karate 是为 GraphQL
  • Google Drive API 进度条错误

    我编写了以下代码来将文件上传到我的 Google 云端硬盘帐户 它工作得很好 然后我尝试添加一些上传进度跟踪器 但遇到了一些问题 它可以工作 但进度几乎立即达到 100 远远早于上传完成 export async function uplo
  • 使用常量引用删除引用

    对于参数类 C 我希望始终获得 原始 类型 而不管指针 const 或引用修饰符如何 template
  • (gcloud.app.deploy) 错误响应:[13] 意外错误

    当我尝试将 Spring Boot 应用程序部署到谷歌云时 出现以下错误 gcloud app deploy Error Response 13 Unexpected Error 我正在使用 com google cloud tools a
  • 提交PHP后保留表单中的值

    我从控制器调用这些函数来获取表单和表单中的值 我的问题是 提交失败后如何保留表单中的值 我尝试过这样的事情
  • Apache Spark 在分区数量较少时内存不足

    我有一个Spark应用程序总是内存不足 集群有两个节点 RAM大约30G 输入数据大小大约几百GB 该应用程序是一个 Spark SQL 作业 它从 HDFS 读取数据并创建一个表并缓存它 然后执行一些 Spark SQL 查询并将结果写回
  • C libpcap API 提取 DNS 查询

    我正在尝试使用 libpcap api 从捕获的 DNS 数据包中提取 DNS 查询 但是我的结构一定有问题 在最后一次转换 使用结构问题 之后char name指针指向正确的地址 查询名称的开头 但它只包含 42 45 20 00 但应该
  • 向客户端发送数据(数据是一个有大原型的对象)

    想要更新一个使用迄今为止创建的所有聊天室列表登录的新客户端 假设我做了这样的事情 每次有人加入应用程序时 socket emit updateClient rooms rooms是一个对象 由许多组成room的实例Room对象本身很小 但有
  • 如何将数据导入rails?

    我有一个带有 User 类的 Rails 3 应用程序 以及一个我想要导入的制表符分隔的用户文件 如何在 Rails 控制台之外访问 Active Record 模型 以便我可以编写脚本来执行以下操作 require active reco
  • 叠加两个或多个位图以在 Picturebox 中显示 (C#)

    在我的 C 程序中 我有一个 Picturebox 我想在其中显示视频流 连续帧 我收到原始数据 然后将其转换为位图或图像 我可以一次显示一张图像 没有问题 重现视频流 现在我的问题是我想要合并 2 个或多个具有相同大小和 alpha 值
  • 如何使用 StAX XML 解析器捕获属性事件?

    我尝试使用 StAX XML 解析器解析 XML 文件 它给我START ELEMENT and END DOCUMENT事件但没有ATTRIBUTE事件 我怎样才能收到ATTRIBUTE使用 StAX 解析器的事件 My XML