在VB6中使用Sax解析编辑和编写XML

2024-04-15

因此,我尝试使用 VB6 中的 SAX 解析(对于古老的 COM 组件)来编辑 xml(输出是 xml)。我更喜欢使用 DOM 解析,但 xml 的大小(可能超过 20MB)迫使我使用 SAX。我对 VB6 比较陌生,并且没有 SAX 解析经验。我在网上浏览过,但即使是我找到的最好的资源(http://www.developerfusion.com/article/84405/sax-and-vb-6/)也让我对如何将 grandchilren 标签与现有属性结合起来知之甚少为重命名的标签创建一个更长的属性。

我有基本的框架设置(如链接网站所示)。我想我也许可以将大部分繁重的工作限制为两个或三个子程序(_startDocument 中的前四行,使用 _startElement 获取描述标签,使用 endElement 将描述放入函数标签中)。然而,我缺乏 VB6/SAX 知识,这确实让我很受伤。任何帮助将不胜感激。

XML 现在如下所示;

<errordetails>
<error desc=”Count: 2”/>
<error desc=”System: System X”/>
<error desc=”Reason: Reason X”/>
   <functions>
      <function name=”x1” Description=”y1”>
         <violations count="2">
            <violation><source>admin</source><description>the first reason</description></violation>
            <violation><source>admin</source><description>the second reason</description></violation>
         </violations>  
      </function>
      <function name=”x2” Description=”y2”>
         <violations count="1">
           <violation><source>admin</source><description>another reason</description></violation>
        </violations>   
      </function>
   </functions>
</errordetails>

这是我想要的 xml 的样子;

<errordetails>
<error desc=”Count: 2”/>
<error desc=”System: System X”/>
<error desc=”Reason: Reason X”/>
<error desc=”FunctionName: x1, FunctionDescription: y1, FunctionReason: the first reason, FunctionReason: the second reason”/>
<error desc=”FunctionName: x2, FunctionDescription: y2, FunctionReason: another reason"/>
</errordetails>

你读过像旧文章这样的东西吗SAX 的乐趣:Visual Basic 示例 http://msdn.microsoft.com/en-us/library/ms994312.aspx?

很难告诉你更多。 SAX 实际上非常简单,您只需像处理任何 VB6 表单一样处理它,将其作为状态机即可。这意味着您将编写的大部分逻辑将管理状态,例如在通过事件向您提供转换后的数据时累积和发出转换后的数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在VB6中使用Sax解析编辑和编写XML 的相关文章

  • 如何在 Go 中解组具有多个项目的简单 xml?

    我想从以下 xml 中获取人物 People 的一部分
  • 如何获取 cElementTree 中某个元素的所有文本子元素?

    我正在使用cElementTreePython 中的模块用于获取某个文本的子级XML树 使用text财产 但它似乎只适用于直接文本子项 见下文 python gt gt gt import xml etree cElementTree as
  • 什么时候应该使用 XML 而不是 SQL? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将数据库查询的行转换为 XML 文件?

    我正在开发一个 Delphi 应用程序 该应用程序需要从一段工作中获取行并将其转换为单个 XML 文件 以便上传到第三方 Web 服务 有没有可用的组件或库可以做到这一点 如果不是 那么构建 DB2XML 转换器的最佳代码方法是什么 我注意
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • jQuery - 提高处理 XML 时的选择器性能

    我正在处理一个 XML 文件 当使用 XPath 样式选择器选择节点时 该文件的性能非常慢 这是运行特别慢的部分代码 for i 0 i
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • PHP 和 DOM 文档

    我有一个关于 DOMDocument 的使用和创建 XML 的问题 我有一个 PHP 程序 加载到 XML 文件中 处理XML的每个节点 行 将其发送到另一个进程 然后该进程返回一个 XML 元素 我获取节点的字符串表示形式 以便可以创建
  • 通过 XML 将重复事件添加到 Google 日历

    我正在尝试通过协议 API 将重复事件添加到我的日历中 我从在 Google 界面中创建的事件中获取了重复标记的语法 并将其用于我的创建请求中 这是我提交的内容
  • XSLT - 追加同级

    我正在尝试使用 XSLT 来附加context param作为最后一个兄弟姐妹 没有共同的父元素 因此任务有点困难 我想附加以下元素
  • 根据属性值使用 xslt 合并两个元素

    这是我的源文件的样子
  • XML 创建 - 错误:带有替代方案的重载方法构造函数 UnprefixedAttribute

    scala gt val count 7 count Int 7 将其放入 XML 属性中会出现错误 scala gt val x
  • XPath 中的 ., 有什么用?

    为什么在某些 XPath 表达式中句号后面使用逗号 这是一个例子 Set nlist doc selectNodes book author first name starts with M 我试图用谷歌搜索这个 但字面意思 运算符似乎不喜
  • Android:默认 XML 编辑器不再打开 [不支持的内容类型错误]

    我使用 Eclipse 在 Android 中开发应用程序已经有一段时间了 我最近将Android SDK平台更新到3 0 API 11 现在 我无法通过双击打开 AndroidManifest xml 或 Layout 文件夹中的任何其他
  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • 将 Xml 反序列化为对象时出错 - xmlns='' 不是预期的

    我在尝试反序列化某些 XML 时遇到了真正的麻烦 希望有人可以提供一些帮助 我读过很多类似的帖子 但我无法解决这个问题 我正在尝试反序列化 XML
  • 需要从 DCOM 配置中删除对象 (DCOMCNFG)

    我们有一个带有 activex exe 和 com dll 的应用程序 安装后 我们会在 DCOM 配置中创建一个对象 如果我们尝试从 DCOM 配置中删除该对象 它就会关闭 直到我们再次重新打开它 想知道是否有任何程序可以从 DCOM 及
  • XSL字符串多重替换功能

    如何让这个函数进行多重替换 经验 替换aaa with 111并替换bbb with 222 etc
  • dbms_xmlgen.getxml - 如何设置日期格式

    我们使用 dbms xmlgen getxml 实用程序通过 SQL 查询生成 xml 该查询从几乎 10 15 个相关表中获取数据 默认情况下 日期格式生成于dd MMM yy格式 有什么方法可以在 dbms xmlgen getxml

随机推荐

  • mongoengine - 忽略架构验证的额外字段

    我正在尝试查询我的数据库 目前 某些记录具有未包含在我的模型架构中的额外字段 由于错误 但我想处理这些情况 当我尝试查询数据库并将记录转换为模式时 出现以下错误 FieldDoesNotExist The field X does not
  • 从旧的 Git 提交中删除私有信息

    我有一个使用 Git 进行版本控制的项目 我想将其开源 但其中包含一些特定于其最初使用环境的私人信息 我将更改相关信息以从未包含在存储库中的配置文件加载 我意识到我应该首先这样做 但由于私人信息仍然存在于之前的提交中 我该如何将其从我的历史
  • 如何使用服务更改作用域变量?

    我有一个应用程序 应用程序内部有一个注册和登录表单 通过注册表单 当用户创建帐户时 他们会自动登录 通过登录表单 用户也可以登录 显然 我有两个控制器 一个用于注册表单 一个用于登录表单 我希望他们能够共享一个服务 logIn 因为两种形式
  • 基于 Spring Boot AMQP 的 JmsListener 在 TextMessage 上失败

    我有一个 Spring Boot 应用程序 在检索类型的 JMS 消息时遇到问题TextMessage来自 ActiveMQ 代理 如果消费者尝试从代理检索消息 它无法自动将消息转换为 TextMessage 而是将其视为 ByteMess
  • 如何从 json 字符串获取对象列表 c# Newtonsoft.json

    我正在尝试将 JSON 字符串转换为对象列表 但收到错误 无法将当前 JSON 对象反序列化为 List 类型 因为该类型需要 JSON 数组才能正确反序列化 我检索 json 它看起来像这样 Code 0 Message OK Data
  • Internet Explorer 开发人员工具如何保留导航日志?

    我正在寻找在 Internet Explorer 开发人员控制台中记录内容以保留页面刷新的方法 在 Google Chrome 和 Firefox 的 Firebug 下 这是一个选项 但我在 IE 下找不到它 我用的是IE 9 在 IE
  • 防止运行测试时优化掉未使用的静态函数

    我正在编写一个将利用 LLVM 的库 通过inkwell https github com TheDan64 inkwell 来 JIT 编译一些函数 这些函数需要能够回调我的代码中的一些 Rust 函数 我让它工作 但我的单元测试不起作用
  • 使用一个 AJAX 响应更新两个 div

    全部 我正在使用 jQuery AJAX 调用一个文件来基本上保存某人是否喜欢某首歌 我正在尝试做类似以下的事情 var html ajax type POST url save song php data song id song id
  • R:在数据框中插入多行(可变数量)

    我有一个数据框 例如 5 行 用于 2 个可观察值 我需要在数据框中插入 虚拟 或 零 行 以便每个可观察的行数相同 并且可以大于 N 行 以获得更长的行数 例如 This is what I have x c a a b b b y c
  • 比较 2 个单独的 csv 文件并将差异写入新的 csv 文件 - Python 2.7

    我正在尝试比较 python 中的两个 csv 文件 并将差异保存到 python 2 7 中的第三个 csv 文件中 import csv f1 open olddata file1 csv oldFile1 csv reader f1
  • JPanel 未显示

    为什么 UI 没有显示在我的下面的代码中 public class GUI extends JPanel public GUI String name String address List
  • php中包含bootstrap和js

    我需要一双新的眼睛来看待这个 我直接从我的一把老小提琴中获取代码https jsfiddle net RachGal fs9u6mwe 1 https jsfiddle net RachGal fs9u6mwe 1 在大学厨房网站上显示照片
  • Terraform 条件配置

    我对 Terraform 配置有疑问 当我第一次运行 terraform 时 我使用在 AWS 控制台中生成的 SSH 密钥 该密钥正在添加到ubuntu用户 Ubuntu 16 04 AMI 然后我跑remote exec配置 provi
  • objdump 输出中的“Algn”2**2 和 2**0 意味着什么?

    下面的文件中这是什么意思 2 2 and 2 0 objdump h main o main o file format elf32 i386 Sections Idx Name Size VMA LMA File off Algn 0 t
  • 使用数组中的参数生成 URL

    我需要采用如下所示的数组 subids Array s1 gt one s2 gt two s3 gt three s4 gt four s5 gt five s6 gt six 并生成一个 URL 例如 所有 subids 并不总是已定义
  • 如何将光标设置在edittext的末尾

    每当我触摸编辑文本时 光标应该位于末尾 即使编辑文本已经有一些文本并且它不应该允许向左移动奖项 editTextView setOnTouchListener new View OnTouchListener Override public
  • 查找当前 Vim 折叠的第一行

    我正在编写一个 Vimscript 函数 其中我需要查找当前折叠的第一行的行号 到目前为止我一直在使用这个 function GetFoldStart let l current line line normal z let l curre
  • 使用 Python 在 Google 中搜索

    我想使用 python 脚本在 Google 中搜索文本 并返回每个结果的名称 描述和 URL 我目前正在使用这段代码 from google import search ip raw input What would you like t
  • OSX Mountain Lion 上新安装的 RVM Ruby 1.9.3 出现“bad ecpoint”SSL 错误

    尝试使用 Ruby 1 9 3 rest client发出 https 请求 例如 RestClient get https google com 总是给我一个 SSL 错误 OpenSSL SSL SSLError SSL connect
  • 在VB6中使用Sax解析编辑和编写XML

    因此 我尝试使用 VB6 中的 SAX 解析 对于古老的 COM 组件 来编辑 xml 输出是 xml 我更喜欢使用 DOM 解析 但 xml 的大小 可能超过 20MB 迫使我使用 SAX 我对 VB6 比较陌生 并且没有 SAX 解析经