如何使用 PowerShell 提取 Epub 元数据 (XML)?

2024-01-07

我对 PowerShell 并不陌生,但对 XML 解析很熟悉。基本上我想从 OPF 文件中提取标题、创建者和发布者信息,该文件只是一个 xml 文件。下面这本书是来自 Google 的 epub v3 样本集的 Moby Dick。

<?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>

我试过了:

[xml]$opf = gc path/to/package.opf
$opf.package.metdata

我只能通过此获取标签和属性信息,而不能获取文本。


您需要像这样使用 #text 属性来获取一些值:

[xml] $opf = gc .\moby.opf

$title = $opf.package.metadata.title.'#text'
$creator = $opf.package.metadata.creator.'#text'
$publisher = $opf.package.metadata.publisher

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

如何使用 PowerShell 提取 Epub 元数据 (XML)? 的相关文章

  • 是否可以要求 Powershell 在 Windows 终端而不是新窗口中启动进程

    如果我在 Windows 终端 PowerShell 选项卡中运行 start process Powershell Verb runas 它将创建一个新窗口 有没有办法在 Windows 终端中创建选项卡 您必须使用 Windows 终端
  • c#Registry to XML无效字符问题

    我在尝试从注册表创建 XML 文件时遇到问题 在我的笔记本电脑 W7 64b 上它工作正常 生成了 xml 文件 但在另一台计算机 Xp 32b 上抛出异常 System ArgumentException 十六进制值 0x00 是无效字符
  • Powershell Invoke-Command 远程手动工作,但不能通过 Jenkins

    我遇到了一个非常奇怪的情况 即从 Windows Server 2012 R2 手动运行相同的命令时可以工作 但从同一服务器上运行的 Jenkins 从属进程无法工作 首先 手动运行的输出 管理 PowerShell 窗口 PS C Use
  • 如何在 PowerShell 中比较本地文件与 FTP 服务器上的文件的年龄并下载远程复制是否较新

    我正在编写一个 PowerShell 脚本 以帮助我为工作设置新电脑 希望这不仅仅是我一个人会使用 所以我正在尝试考虑所有事情 我在 FTP 服务器上保存了离线安装程序 java flash reader 等 如果本地副本尚未保存在创建的
  • 什么时候应该使用 XML 而不是 SQL? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • FileInfo.BaseName 存在于 PowerShell 中,但不存在于直接 .NET 中

    为什么在 NET 中System IO FileInfo对象没有BaseName属性 但我可以通过 PowerShell 使用该属性 例如 FolderItems Get ChildItem Path C Where Object isno
  • Powershell tail 多个文件命令

    我可以通过以下命令尾随一个文件 Get Content Path C log1 txt Tail 10 Wait 如何将其扩展到多个文件 我尝试了以下方法但没有成功 Get Content Path C log1 txt C log2 tx
  • Powershell:复制时自动更改文件属性

    我有一个只读文件的文件夹 当我将这些文件之一复制到测试位置时 我希望能够复制它们而不保留其原始属性 我可以做到这一点 但这很长 copy item srcfilefullname destfilefullname set itemprope
  • 如何在 powershell 中显示带有 .ps1xml 文件的嵌套集合

    我有一个像这样的分层对象结构 public class Department public string Name get set public string Manager get set public Employee Employee
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • 有人可以推荐一个免费的 xslt 工具吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PHP 和 DOM 文档

    我有一个关于 DOMDocument 的使用和创建 XML 的问题 我有一个 PHP 程序 加载到 XML 文件中 处理XML的每个节点 行 将其发送到另一个进程 然后该进程返回一个 XML 元素 我获取节点的字符串表示形式 以便可以创建
  • 我的 Powershell GUI 界面在打开网格视图时不断调整大小

    我目前正在构建一个复制到剪贴板工具 其中显示存储在文件夹中的 txt 文件列表 并且我使用 out gridview 来允许用户更好地选择和过滤列表 我已附上图片以供参考 单击加载 out gridview 的按钮后如何停止调整大小 Too
  • 通过 XML 将重复事件添加到 Google 日历

    我正在尝试通过协议 API 将重复事件添加到我的日历中 我从在 Google 界面中创建的事件中获取了重复标记的语法 并将其用于我的创建请求中 这是我提交的内容
  • JavaFX 中的 fx:id 和 id: 有什么区别?

    也许是一个真正的新手的问题 我开始通过阅读以下教程在 FMXL 应用程序中使用场景生成器学习 JavaFX http docs oracle com javase 8 javafx get started tutorial fxml tut
  • 使用 UTF-8 编码的 Powershell 字符串变量

    我检查了许多与此相关的问题 但找不到解决我的问题的东西 基本上 我想将 UTF 8 编码的字符串存储在变量中 然后使用该字符串作为文件名 例如 我正在尝试下载 YouTube 视频 如果我们打印视频标题 则会显示非英文字符 ytd这是you
  • 在powershell中,使用export-csv cmdlet,我的整数被引号封装,知道为什么吗?

    所以我运行一个sql查询 通过管道传输到export csv 唯一的问题是所有值都用引号封装 包括整数 这对我来说不可能作为整数重新导入到SQL中 有什么想法吗 CSV 没有类型的概念 它是纯粹基于字符串的格式 PowerShell 只引用
  • Booking.com酒店管理API

    我拥有一家酒店 并在 booking com 上查看了 API 因为我想创建自己的前端界面来更新我的酒店房价 房间数 以及通过该 API 上传图片 更新酒店描述 然而 我唯一能找到的是一个 API 供联营公司以一定的价格获取特定位置的酒店等
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 如何从 -WhatIf 处理中排除块?

    我正在编写一个 Powershell cmdlet 它需要执行命令并将其 stderr 输出存储到临时文件中以供以后处理 此输出列出了 cmdlet 稍后可能使用的 COM 端口 mostly side effect free inform

随机推荐

  • Python请求-打印整个http请求(原始)?

    在使用时requests module http requests readthedocs org en latest 有什么方法可以打印原始HTTP请求吗 我不仅仅想要标头 我想要请求行 标头和内容打印输出 是否可以看到 HTTP 请求最
  • 如果存在相同的列值,则仅选择具有最高 id 值的行

    如何从表中选择所有内容 以及列是否有相同的值name然后只选择具有最大的行idvalue so 如果有一个像这样的表 id name age country 1 bob 24 UK 2 john 48 USA 3 janet 72 USSR
  • 如何在 pytorch 中加载模型而不必记住使用的参数?

    我正在 pytorch 中训练一个模型 我为此创建了一个类 如下所示 from torch import nn class myNN nn Module def init self dense1 128 dense2 64 dense3 3
  • 如何测试所需的init(coder:)?

    在我的定制课程中WLNetworkClient我必须实现这样的方法 required init coder aDecoder NSCoder fatalError init coder has not been implemented 我不
  • Metro 的东西在什么桌面上运行?

    只是好奇 从 WinAPI 开发人员的角度来看 什么desktop http msdn microsoft com en us library ms682573 28v vs 85 29 aspxMetro 应用程序可以运行吗 这个东西 我
  • Spring 5 Web Reactive - 热门发布 - 如何使用 EmitterProcessor 将 MessageListener 桥接到事件流

    示例项目位于此处 https github com codependent spring5 playground https github com codependent spring5 playground 我想将从 JMS 队列接收到的
  • iOS 中如何锁定屏幕使其只有纵向方向?

    我创建了一个具有许多视图的应用程序 并且我希望其中一些视图仅处于纵向方向 我已将其编码在 m 文件中 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation in
  • 如何使 android-wheel 水平?

    我正在尝试从http code google com p android wheel http code google com p android wheel 并使其水平显示 我的第一次尝试来自于作者本人的建议http android de
  • 如何仅使用 sscanf 从字符串中提取所有数字?

    如何在 C 语言中使用 sscanf 从以下格式的字符串中提取所有数字 3 2 4 5 10 空格可以无处不在 但当然不能在数字之间 每个位置可以有 0 个或更多空格 字符串必须具有正确的格式 否则会出现错误 例如 3 2 是一个错误 每个
  • AWS:为什么我的 RDS 实例在关闭后仍继续启动?

    我在 AWS 上有一个 RDS 数据库实例 目前已将其关闭 但是 每隔几天它就会自行启动 我现在没有任何其他服务正在运行 我的 RDS 日志中有此事件 数据库实例正在启动 因为它超出了允许的最大停止时间 为什么我的 RDS 实例的停止时间有
  • 在 PHP 和 Eclipse 中设置路径映射

    我刚刚在本地设置了我的网站 这样我就可以更轻松地测试我的页面 Eclipse 已配置为在本地使用 XAMPP 服务器 问题是我想将我的项目映射到网站中的某个位置 IE 在我的 Eclipse PHP 项目中 我有一个名为 com 我想要这个
  • 渲染发生后以编程方式应用 jquery(移动)CSS 类

    jQuery 移动 http jquerymobile com 会根据内容自动为页面上的元素应用 css 和一些 htmldata 页面加载时属性就在它们上面 我通过 ajax 调用拉入一些 html 内容 但它是在 jquery mobi
  • 以给定概率得出 true 或 false

    我正在尝试用 C 编写一个函数 该函数将根据给定的概率返回 true 或 false 因此 例如 如果给定的概率为 0 634 则该函数有 63 4 的机会返回 true 我尝试了几种不同的方法 但都失败了 有什么帮助吗 如果您想在 C 1
  • 序列化对象时如何忽略事件订阅者?

    当下面的类被序列化时BinaryFormatter 订阅的任何对象Roar事件也将被序列化 因为对这些对象的引用由 EventHandler 委托保存 Serializable public class Lion public event
  • Javascript - 检测阿拉伯文本

    今天我想做一个使用输入文本的阿拉伯语测验 这是我的代码 我知道这仍然是基本的 但问题是它无法检测阿拉伯文本 语言 当我尝试输入 文本时 它显示 错误 警报 我不知道为什么它无法检测到阿拉伯语 有什么解决办法吗 function answer
  • 在MinGW编译器中,-mwindows命令是什么,它有什么作用?

    我在使用 C 程序时遇到问题 当我运行 exe 时 该程序将运行并且该程序的窗口将打开 但控制台将在后台桌面上打开 我进行了谷歌搜索 发现使用 mwindows 命令作为参数进行编译会删除控制台 它确实做到了 但我不确定它实际上是做什么的
  • Xamarin选择TargetFramework和MinimumAndroidVersion

    我正在开发一个 Xamarin Forms 应用程序 目前仅支持 Android 默认设置将 TargetFramework 设置为 7 1 该项目的最低 Android 版本必须为 7 0 这会产生一个警告 Xamarin Forms P
  • Google Analytics iOS SDK [GAIReachabilityCheckerreachabilityFlagsChanged:崩溃

    我的 iOS 应用程序不断遇到与 GAIReachabilityChecker 相关的崩溃 这个函数似乎崩溃了 GAIReachabilityCheckerreachabilityFlagsChanged 这是错误日志 线程 崩溃 com
  • 人行横道的应用程序大小增加了 71mb

    我真的希望我做错了什么 我已将人行横道添加到项目中 并且应用程序大小明显增加 为了测试我做了以下事情 创建了一个新的离子项目 将我的应用程序代码添加到 www 添加了 ngcordova 和各种插件 运行 ionic 构建并将 apk 放到
  • 如何使用 PowerShell 提取 Epub 元数据 (XML)?

    我对 PowerShell 并不陌生 但对 XML 解析很熟悉 基本上我想从 OPF 文件中提取标题 创建者和发布者信息 该文件只是一个 xml 文件 下面这本书是来自 Google 的 epub v3 样本集的 Moby Dick