我想读取 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。
编辑
约束
linux box 在公司环境中,所以我只能使用已经安装的工具(不是说我不能请求诸如 xml2 之类的实用程序,但我必须经历很多繁文缛节)。一些解决方案非常好(已经学习了一些新技巧),但由于环境限制,它们可能不适用
更新的 xml 列表
我在原始列表中添加了依赖项标签。这将显示一些 hacky 解决方案在这种情况下可能不起作用
发行版
我使用的发行版是 RHEL4
我看过这个问题的答案,不幸的是,到目前为止,他们都没有帮助我。
不用担心,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 7 中创建了一个计划任务。该任务在我的计算机上运行良好。
我还将任务导出到 XML 文件,并希望在另一台计算机上自动创建相同的任务。如何在第二台计算机上的 Task Scheduler 中实用地导入 XML 文件?
Excel XLSX 文件是包含多个 XML 文件的 zip 存档。我尝试提取所有 XML 文件,并xl\connections.xml 使用 XML 编辑器进行编辑。那是因为我必须更改 20 多个连接以指向不同的服务器。
当我在 Excel 中打开编辑过的档案时,它拒绝更改并修复文件。
有没有办法编辑 XML 存档中的 XML 文件?
以前,如果我转到 RSS 提要(.xml 文件),Chrome 会显示它。我可以使用扩展来格式化提要或直接查看源。但是,现在,Chrome 强制我使用 RSS 阅读器查看提要。如何直接查看 XML 文件而不是在 RSS 阅读器中打开它?
我需要比较两个 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 文件,我想获取节点数。但是,我不想开始编码。我检查了一些 XML 工具,如Notepadd++ XML Plugin、Cygwin xmllint、XML Notepad 2007,但它们都没有提供此功能。
基本上,我需要一个汇总的节点数。有没有什么软件可以做到这一点? 谷歌搜索似乎只提供需要编程的解决方案。
我很难让 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) 我听说 SVG 是由 xml 和 html 组成的,但是使用inkscape 之类的软件可以轻松创建 SVG 图像,而无需担心在 Xml 中进行编码。
因此,在创建 SVG 图像后,我想查看它的 xml 编码,因为我可以通过编程动态更改颜色和大小,我相信我当然对此不确定。
创建 SVG 图像后,我也只能看到一个文件而不是 DOM 中的编码(在萤火虫中查看)
我的问题是在inkscape中创建SVG图像后可以查看和编辑它的xml编码吗?
如果可能的话,如何实现?
是否可以使用Firefox“检查元素”功能(Q)获取元素的XPath?
Chrome 检查器可以执行此操作,但是如果我在 Firefox 的检查器中使用“复制唯一选择器”选项,我会得到一个不同格式的选择器,而不是 XPath。
我知道有扩展,但是没有扩展可能吗?