标签: xml

脚本编写:在 XML 文件的标记中提取值最简单的方法是什么?

我想读取 pom.xml(Maven 的“项目对象模型”)并提取版本信息。下面是一个例子:

<?xml version="1.0" encoding="UTF-8"?><project 
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>project-parent</artifactId>
    <name>project-parent</name>
    <version>1.0.74-SNAPSHOT</version>
    <dependencies>
        <dependency>
        <groupId>com.sybase.jconnect</groupId>
        <artifactId>jconnect</artifactId>
        <version>6.05-26023</version>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>1.5.2</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jdmk</groupId>
        <artifactId>jmxtools</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>2.4</version>
    </dependency>       
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

如何从上面提取版本“1.0.74-SNAPSHOT”?

希望能够使用简单的 bash 脚本 sed 或 awk 来做到这一点。否则首选简单的python。

编辑

  1. 约束

    linux box 在公司环境中,所以我只能使用已经安装的工具(不是说我不能请求诸如 xml2 之类的实用程序,但我必须经历很多繁文缛节)。一些解决方案非常好(已经学习了一些新技巧),但由于环境限制,它们可能不适用

  2. 更新的 xml 列表

    我在原始列表中添加了依赖项标签。这将显示一些 hacky 解决方案在这种情况下可能不起作用

  3. 发行版

    我使用的发行版是 RHEL4

linux unix xml bash python

14
推荐指数
4
解决办法
7万
查看次数

容忍行长的 XML 差异

我看过这个问题的答案,不幸的是,到目前为止,他们都没有帮助我。

不用担心,C# 深度的第二版现在正在复制编辑中。我希望能够非常轻松地看到文案编辑所做的工作,因此我可以拒绝或接受他的更改。

我们正在使用一种修改形式的 docbook,但我很高兴看到原始 XML 源代码。到目前为止一切都很好 - 除了当复制编辑器进行更改时,可以更改换行。所以曾经读过的东西:

<para>Foo bar baz
 second line</para>
Run Code Online (Sandbox Code Playgroud)

现在阅读

<para>Foo bar grontle
 baz second line</para>
Run Code Online (Sandbox Code Playgroud)

现在真正的变化是插入了“grontle”。我不在乎“baz”从第一行移到了第二行,但我见过的所有差异工具都是如此。

我意识到一种选择是将整个文档(或可能只是整个段落)重新格式化为单行......但这真的很难阅读,因为差异工具在显示时不会换行。

我确信我可以使用我拥有的工具进行管理,但如果有人知道更好的东西,我会很高兴听到它。我怀疑我的出版商也会这样做。

(我在这里包含在Windows标签,因为我真的需要它是在Windows上使用。我想听到有关任何非Windows软件也一样,但只有在情况下,我可以帮助建立它在Windows上。

windows xml diff software-rec

13
推荐指数
1
解决办法
922
查看次数

如何从 XML 文件自动导入计划任务?

我在 Windows 7 中创建了一个计划任务。该任务在我的计算机上运行良好。

我还将任务导出到 XML 文件,并希望在另一台计算机上自动创建相同的任务。如何在第二台计算机上的 Task Scheduler 中实用地导入 XML 文件?

xml windows-task-scheduler

13
推荐指数
1
解决办法
5万
查看次数

Excel:在 XLSX 文件中编辑 XML

Excel XLSX 文件是包含多个 XML 文件的 zip 存档。我尝试提取所有 XML 文件,并xl\connections.xml 使用 XML 编辑器进行编辑。那是因为我必须更改 20 多个连接以指向不同的服务器。

当我在 Excel 中打开编辑过的档案时,它拒绝更改并修复文件。

有没有办法编辑 XML 存档中的 XML 文件?

xml microsoft-office microsoft-excel-2007 microsoft-excel

12
推荐指数
1
解决办法
3万
查看次数

在 Chrome 中查看 RSS 提要而不是下载它

以前,如果我转到 RSS 提要(.xml 文件),Chrome 会显示它。我可以使用扩展来格式化提要或直接查看源。但是,现在,Chrome 强制我使用 RSS 阅读器查看提要。如何直接查看 XML 文件而不是在 RSS 阅读器中打开它?

rss google-chrome xml google-chrome-extensions

11
推荐指数
2
解决办法
1万
查看次数

对 XML 文件进行排序,以便可以找到差异

我需要比较两个 XML 文件,每个文件大约有 13,000 行。

遗憾的是,生成这些文件的代码每次都不会以相同的顺序生成数据(数据来自数据库)。

因此,即使在规范化 XML 文件之后,我在使用标准的逐行差异实用程序 (WinMerge) 时也会得到误报。

作为我的问题的一个例子:

文件 1:

<a>
  <b key="fruit.preferred">banana</b>
  <b key="fruit.available">pineapple</b>
  <b key="fruit.available">apple</b>
  <b key="fruit.available">orange</b>
</a>
Run Code Online (Sandbox Code Playgroud)

文件2:

<a>
  <b key="fruit.available">pineapple</b>
  <b key="fruit.preferred">banana</b>
  <b key="fruit.available">apple</b>
  <b key="fruit.available">orange</b>
</a>
Run Code Online (Sandbox Code Playgroud)

这些文件具有相同的内容,但是香蕉线的位置意味着它们被传统的diff认为是不同的。是否有任何工具可以执行排序以使文件被视为相同?

顺便说一下,XML 文件结构比上面的例子更复杂!

xml diff sorting

10
推荐指数
1
解决办法
1万
查看次数

获取 XML 节点数的最简单方法

我有一些 XML 文件,我想获取节点数。但是,我不想开始编码。我检查了一些 XML 工具,如Notepadd++ XML Plugin、Cygwin xmllint、XML Notepad 2007,但它们都没有提供此功能。

基本上,我需要一个汇总的节点数。有没有什么软件可以做到这一点? 谷歌搜索似乎只提供需要编程的解决方案。

xml text-editors

10
推荐指数
1
解决办法
6万
查看次数

适用于 Notepad++ 7.4 的 XML 工具插件

我很难让 Notepad++ 的 XML 工具插件运行。

我有最新的 Notepad++ (v7.4) 和最新的 XML 工具插件(来自Sourceforge 的v2.4.9.2 ),它们都是 Windows 7(64 位)上的 64 位版本。

首先,我关闭了 Notepad++ 的所有实例。然后,我复制XMLTools.dll到我的插件记事本++的安装和依赖关系(库)旁边的文件夹notepad++.exe中所描述的install.txt。

当我启动 Notepad++ 时,我收到以下错误消息:

%1 不是有效的 Win32 应用程序。XMLTools.dll 与当前版本 Notepad++ 不兼容

将 XML 工具插件“安装”到 Notepad++ v7.4 后的错误消息:

图片]

一个小时的谷歌搜索和尝试不同版本的 XML 工具甚至 Notepad++ v7.3.1 都没有让我更进一步。谁能帮我这个?

这是我的 Notepad++ 调试信息:

Notepad++ v7.4   (64-bit)
Build time : May 14 2017 - 21:02:35
Path : D:\Program Files\Notepad++\notepad++.exe
Admin mode : OFF
Local Conf mode : OFF
OS : …
Run Code Online (Sandbox Code Playgroud)

windows-7 xml 64-bit plugins notepad++

10
推荐指数
1
解决办法
3万
查看次数

如何查看在inkscape中创建的SVG图像的xml编码?

我听说 SVG 是由 xml 和 html 组成的,但是使用inkscape 之类的软件可以轻松创建 SVG 图像,而无需担心在 Xml 中进行编码。

因此,在创建 SVG 图像后,我想查看它的 xml 编码,因为我可以通过编程动态更改颜色和大小,我相信我当然对此不确定。

创建 SVG 图像后,我也只能看到一个文件而不是 DOM 中的编码(在萤火虫中查看)

我的问题是在inkscape中创建SVG图像后可以查看和编辑它的xml编码吗?

如果可能的话,如何实现?

html xml svg css images

9
推荐指数
2
解决办法
2万
查看次数

如何从 Firefox 检查器获取元素的 XPath?

是否可以使用Firefox“检查元素”功能(Q)获取元素的XPath?

Chrome 检查器可以执行此操作,但是如果我在 Firefox 的检查器中使用“复制唯一选择器”选项,我会得到一个不同格式的选择器,而不是 XPath。

我知道有扩展,但是没有扩展可能吗?

firefox xml

9
推荐指数
1
解决办法
2万
查看次数