gpt4 book ai didi

xml - 使用 PowerShell 从 xml 的元标记中提取文本

转载 作者:数据小太阳 更新时间:2023-10-29 02:15:55 25 4
gpt4 key购买 nike

使用以下 xml 文件,我如何提取一些元标记的文本?例如,我想从属性为“role”的元标记中获取文本“aut”。

<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf" version="3.0" xml:lang="en" unique-identifier="pub- id" prefix="cc: http://creativecommons.org/ns#">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title id="title">Moby-Dick</dc:title>
<meta refines="#title" property="title-type">main</meta>
<dc:creator id="creator">Herman Melville</dc:creator>
<meta refines="#creator" property="file-as">MELVILLE, HERMAN</meta>
<meta refines="#creator" property="role" scheme="marc:relators">aut</meta>
<dc:identifier id="pub-id">code.google.com.epub-samples.moby-dick-basic</dc:identifier>
<dc:language>en-US</dc:language>
<meta property="dcterms:modified">2012-01-18T12:47:00Z</meta>
<dc:publisher>Harper &amp; Brothers, Publishers</dc:publisher>
<dc:contributor id="contrib1">Dave Cramer</dc:contributor>
<meta refines="#contrib1" property="role" scheme="marc:relators">mrk</meta>
<dc:rights>This work is shared with the public using the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.</dc:rights>
<link rel="cc:license" href="http://creativecommons.org/licenses/by-sa/3.0/"/>
<meta property="cc:attributionURL">http://code.google.com/p/epub-samples/</meta>
</metadata>
</package>

我试过使用 selectsinglenode() 方法,但没有成功:

[xml]$doc = get-content myxmlfile.xml
$node = $doc.selectsinglenode("/package/metadata/meta[@property='role']")

//and

$node = $doc.selectsinglenode("//meta[@property='role']")

// $node is null for both cases

我也试过这样使用 Select-XML:

[xml]$doc = get-content myxmlfile.xml
Select-Xml -xml $doc -Xpath "/package/metadata/meta[@property='role']"

//and

Select-Xml -xml $doc -Xpath "//meta[@property='role']"

最佳答案

标签定义了一个默认命名空间。您要么需要定义该默认 namespace ,要么使用通配符来避免指定 namespace 。后者更容易:

select-xml -xml $xml -xpath "//*[@property='role']/text()" | % { $_.Node.Value }

这里有一些引用资料: http://blog.stevex.net/xpath-and-xml-namespaces/ http://huddledmasses.org/xpath-and-namespaces-in-powershell/

关于xml - 使用 PowerShell 从 xml 的元标记中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13690602/

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