gpt4 book ai didi

macos - 我如何使用 bash 和 xmllint 解析 adobe xml swidtag

转载 作者:行者123 更新时间:2023-12-04 16:58:07 70 4
gpt4 key购买 nike

下面我有一个用于跟踪库存的 Adob​​e XML swidtag 示例。我需要使用 bash 解析出相关信息并将其输出到一个新的文本文件。仅供引用,我在 mac 上使用终端。

例如,我想解析以下内容

swid:entitlement_required_indicator
swid:product_title
swid:product_version
swid:name
swid:numeric
swid:major
swid:minor
swid:build
swid:review

我试过使用
xmllint --xpath '//swid:product_version/swid:name/text()' nameoffile.xml

Creative Suite 5 的示例标记文件
以下示例适用于序列化为 Creative Suite 5 Master Collection (Suite) 的 Adob​​e Photoshop CS5
<?xml version="1.0" encoding="utf-8"?>
<swid:software_identification_tag xsi:schemaLocation="http://standards.iso.org/iso/19770/-2/2008/schema.xsd software_identification_tag.xsd"
xmlns:swid="http://standards.iso.org/iso/19770/-2/2008/schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!--Mandatory Identity elements -->
<swid:entitlement_required_indicator>true</swid:entitlement_required_indicator>
<swid:product_title>Acrobat XI Pro</swid:product_title>
<swid:product_version>
<swid:name>1.0</swid:name>
<swid:numeric>
<swid:major>1</swid:major>
<swid:minor>0</swid:minor>
<swid:build>0</swid:build>
<swid:review>0</swid:review>
</swid:numeric>
</swid:product_version>
<swid:software_creator>
<swid:name>Adobe Systems Incorporated</swid:name>
<swid:regid>regid.1986-12.com.adobe</swid:regid>
</swid:software_creator>
<swid:software_licensor>
<swid:name>Adobe Systems Incorporated</swid:name>
<swid:regid>regid.1986-12.com.adobe</swid:regid>
</swid:software_licensor>
<swid:software_id>
<swid:unique_id>CreativeCloud-CS6-Mac-GM-MUL</swid:unique_id>
<swid:tag_creator_regid>regid.1986-12.com.adobe</swid:tag_creator_regid>
</swid:software_id>

<swid:tag_creator>
<swid:name>Adobe Systems Incorporated</swid:name>
<swid:regid>regid.1986-12.com.adobe</swid:regid>
</swid:tag_creator>
<!--Optional Identity elements -->
<swid:license_linkage>
<swid:activation_status>activated</swid:activation_status>
<swid:channel_type>SUBSCRIPTION</swid:channel_type>
<swid:customer_type>RETAIL</swid:customer_type>
</swid:license_linkage>
<swid:serial_number>909702426602037824854600</swid:serial_number>
</swid:software_identification_tag>

最佳答案

也许我误解了你的问题。为什么不
grep '<swid:' inputfile | sed 's/<\/.*//'
或者非常接近它的东西(例如正确的转义)工作?

关于macos - 我如何使用 bash 和 xmllint 解析 adobe xml swidtag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535893/

70 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com