删除 XML 标签及其内容之间的任何内容

2023-12-13

我需要删除 XML 标记之间的任何内容,尤其是空格和换行符。

例如,从以下位置删除空格和换行符:
节点> \n

to get:
节点>

这并不是为了手动解析 XML,而是在 XML 数据被工具解析之前准备好。更具体地说,我正在使用 Hpricot (Ruby) 来解析 XML,不幸的是我们目前停留在版本 0.6.164 上,所以......我不知道更新的版本,但这经常返回奇怪的节点仅包含空格和换行符的(对象)。因此,我们的想法是先清理 XML,然后再将其转换为 Hpricot 文档。替代解决方案受到赞赏。

测试示例:NoMethodError: undefined method `children' for "\n ":Hpricot::Text
这里有趣的部分不是 NoMethodError,因为这很好,而是 Hpricot::Text 元素只包含一个换行符,仅此而已。


请不要使用正则表达式来解析 XML。这是非常容易出错的。

使用适当的 XML 库,这将使这变得微不足道。几乎所有您需要的编程平台都有可用的 XML 库 - 确实没有理由对 XML 使用正则表达式。

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

删除 XML 标签及其内容之间的任何内容 的相关文章

随机推荐

  • 如何根据二维数组上的特定位置获取网格单元的状态

    考虑一个二维网格n rows and n columns 此处为 75x75 单击鼠标即可在每个单元格中绘制符号 标记 下面的代码用于在单元格内绘制网格线和符号 class DrawCanvas extends JPanel Overrid
  • java.lang.RuntimeException:更新 Firestore 版本后 Firestore (0.6.6-dev) 中出现内部错误

    更新后我收到以下错误firestore 17 0 1 to firestore 17 0 2 java lang RuntimeException Internal error in Firestore 0 6 6 dev at com g
  • 在ConfigureServices()中调用BuildServiceProvider()的成本和可能的副作用是什么

    有时 在服务注册期间 我需要从 DI 容器解析其他 已注册 服务 对于像 Autofac 或 DryIoc 这样的容器来说 这没什么大不了的 因为您可以在一行上注册服务 然后在下一行上立即解决它 但是使用 Microsoft 的 DI 容器
  • 在 powershell 中打印参数

    我想知道 为什么下面的 powershell 脚本中没有打印字符串参数 function Get Name string Username echo user Username PS C gt Get Name ps1 username t
  • ffmpeg rtmp和本地文件输出

    我在使用 ffmpeg 时遇到了麻烦 我从抓取设备 摄像头 接收 rtsp 流并将其流式传输到 rtmp Youtube Live 我想在我的计算机中拥有该流的副本 因此我同时在本地文件中写入 我使用这个命令 ffmpeg y i RTSP
  • Valgrind 了解堆摘要中分配的字节数增加吗?

    我一直在研究调试分叉 TCP 服务器中的内存使用情况 我认为我做得很好 我只是似乎无法在 堆摘要 中找到有关 分配的字节数 的信息 我的服务器运行的时间越长 这个数字似乎就会不断增加 27526 27526 HEAP SUMMARY 275
  • 代理 HTML 元素

    我想检查一个库对我传递给它的视频元素做了什么 所以我天真地这样做了 cosnt videoElement new Proxy document querySelector video get target key const name ty
  • 嵌套 Flexbox 网格

    我已经构建了一个嵌套的弹性盒网格 将用于各个网关 目前 大概是由于使用outline 每个容器内的内容都会进入 并被隐藏 每个网关周围的空白区域 该空白区域充当每个 div 之间的间距 有没有更好的方法来处理网格间距 这可以让我确保内容不会
  • 仅适用于 Chrome 扩展程序中特定域的后台脚本

    我想知道如何仅针对特定 指定域运行 Chrome 扩展程序的后台脚本 例如 如果扩展程序仅在 Google com 的页面上运行 则没有理由让后台脚本在任何其他域上运行 在我的清单文件中 我设置了 匹配 但我仍然可以看到后台脚本在每个域和选
  • 如何使用PHP进行SQL的GROUP BY?

    我想从数据库表中选择行 并使用 PHP 而不是 SQL 基于参数 在本例中为按项目 对它们进行分组 SQL Clothes table id item owner 1 shoes joe 2 pants joe 3 hat joe 4 pa
  • Xamarin.Android:DrawerLayout.LayoutParams 中的重力参数

    我正在尝试创建一个DrawerLayout以编程方式使用Xamarin Android 但是我在尝试添加时遇到了问题ListView应该可以从左侧拖动 这是我的代码 DrawerLayout myDrawerLayout new Drawe
  • 显式复制构造函数

    我扩展了 std string 以满足我的需要 必须将自定义函数构建到名为的字符串类中自定义字符串 我已经定义了构造函数 class CustomString public std string public explicit Custom
  • 这个c程序有什么问题吗?调试发现程序被击中了 while (sqroot != 0); [复制]

    这个问题在这里已经有答案了 这是调试过程的截图我正在学习用 C 语言编程 我试图找出一个数字是否是镜像 但是程序编译没有错误 但没有给出所需的结果 调试程序发现它碰到了 while sqroot 0 Mirror number includ
  • 旋转图形但不旋转图例

    我有一个图形 我想旋转 90 度 问题是图例也会旋转 有没有办法只旋转图形 甚至能够将图例的旋转属性设置为 90 度就可以了 对于 xticks 例如我正在使用plt xticks range len mu mse index x labs
  • php Imagick::levelImage 用法

    我已经很努力了 但无法使这个方法正常工作 使用格式为 Imagick levelImage float blackPoint float gamma float whitePoint int channel Imagick CHANNEL
  • 如何在 DirectionsRenderer 打开 Bicycling 层后将其关闭

    In Google Maps API 中有关图层的文档 规定如下 Bicycling 图层对象将自行车道图层和 或特定于自行车的叠加层渲染到公共图层中 当请求骑行模式行驶方向时 默认情况下会在 DirectionsRenderer 中返回该
  • 使用 jQuery 即时创建

    我想在基于 AJAX 响应的盒子中动态构建 s 即如果responseText是3 我想构建3个选项
  • 本地化资源包中的枚举值

    我的 JSF 应用程序中的 i18n 枚举有问题 当我开始时 我有枚举 其中定义了文本 但现在 我在枚举中将密钥绑定到消息包 我的枚举示例之一 public enum OrderStatus implements CustomEnum PE
  • 定期将大数据 (json) 导入 Firebase

    我们面临的情况是 我们必须定期更新 firebase 中的大量数据 大约 5 个 Mio 记录 目前我们有一些大小约为 1 GB 的 json 文件 作为现有的第三方解决方案 here and here 存在一些可靠性问题 每个对象导入对象
  • 删除 XML 标签及其内容之间的任何内容

    我需要删除 XML 标记之间的任何内容 尤其是空格和换行符 例如 从以下位置删除空格和换行符 节点 gt n to get 节点 gt 这并不是为了手动解析 XML 而是在 XML 数据被工具解析之前准备好 更具体地说 我正在使用 Hpri