- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我怎样才能完成这样的事情:
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> $date=(Get-Date | ConvertTo-Xml)
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> $date
xml Objects
--- -------
version="1.0" encoding="utf-8" Objects
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> $date.OuterXml
<?xml version="1.0" encoding="utf-8"?><Objects><Object Type="System.DateTime">12/12/2020 2:43:46 AM</Object></Objects>
PS /home/nicholas/powershell>
而是读取文件?
如何使用 ConvertTo-Xml
加载/导入/读取/转换 xml
文件以使用
?Select-Xml
进行解析>Xpath
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> $xml=ConvertTo-Xml ./bookstore.xml
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> $xml
xml Objects
--- -------
version="1.0" encoding="utf-8" Objects
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> $xml.InnerXml
<?xml version="1.0" encoding="utf-8"?><Objects><Object Type="System.String">./bookstore.xml</Object></Objects>
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> $xml.OuterXml
<?xml version="1.0" encoding="utf-8"?><Objects><Object Type="System.String">./bookstore.xml</Object></Objects>
PS /home/nicholas/powershell>
PS /home/nicholas/powershell> cat ./bookstore.xml
<?xml version="1.0"?>
<!-- A fragment of a book store inventory database -->
<bookstore xmlns:bk="urn:samples">
<book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-8">
<title>Pride And Prejudice</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>24.95</price>
</book>
<book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1">
<title>The Handmaid's Tale</title>
<author>
<first-name>Margaret</first-name>
<last-name>Atwood</last-name>
</author>
<price>29.95</price>
</book>
<book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6">
<title>Emma</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>19.95</price>
</book>
<book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3">
<title>Sense and Sensibility</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>19.95</price>
</book>
</bookstore>
PS /home/nicholas/powershell>
在 REPL
控制台中创建 xml
文件本身按预期工作:
最佳答案
正确地在 Powershell 中读取 XML 文档的工作方式如下:
$doc = New-Object xml
$doc.Load( (Convert-Path bookstore.xml) )
XML 可以采用多种文件编码,并使用 the XmlDocument.Load
method确保在事先不知道编码的情况下正确读取文件。
除非在非常基本或非常幸运的情况下,否则不使用正确的编码读取文件将导致数据损坏或错误。
常见的使用方法Get-Content
并将结果字符串转换为 [xml]
正是出于这个原因,这是处理 XML 的错误方法。所以不要那样做。
您可以使用 Get-Content
得到正确的结果, 但这需要
Get-Content bookstore.xml -Encoding UTF8
)Get-Content
支持(XML支持更多)这意味着您将自己置于必须手动思考和解决 XML 专门设计用于自动为您处理的问题的位置。
使用 Get-Content
正确地做事是很多不必要的额外工作和限制。错误地做事毫无意义,因为正确地做事很容易。
示例,加载后$doc
如上所示。
$doc.bookstore.book
打印 <book>
的列表元素及其属性
genre : novel
publicationdate : 1997
ISBN : 1-861001-57-8
title : Pride And Prejudice
author : author
price : 24.95
genre : novel
publicationdate : 1992
ISBN : 1-861002-30-1
title : The Handmaid's Tale
author : author
price : 29.95
genre : novel
publicationdate : 1991
ISBN : 1-861001-57-6
title : Emma
author : author
price : 19.95
genre : novel
publicationdate : 1982
ISBN : 1-861001-45-3
title : Sense and Sensibility
author : author
price : 19.95
$doc.bookstore.book | Format-Table
打印和表格一样的东西
genre publicationdate ISBN title author price
----- --------------- ---- ----- ------ -----
novel 1997 1-861001-57-8 Pride And Prejudice author 24.95
novel 1992 1-861002-30-1 The Handmaid's Tale author 29.95
novel 1991 1-861001-57-6 Emma author 19.95
novel 1982 1-861001-45-3 Sense and Sensibility author 19.95
$doc.bookstore.book | Where-Object publicationdate -lt 1992 | Format-Table
过滤数据
genre publicationdate ISBN title author price
----- --------------- ---- ----- ------ -----
novel 1991 1-861001-57-6 Emma author 19.95
novel 1982 1-861001-45-3 Sense and Sensibility author 19.95
$doc.bookstore.book | Where-Object publicationdate -lt 1992 | Sort publicationdate | select title
仅排序并打印 <title>
字段
title
-----
Sense and Sensibility
Emma
对数据进行切片和切 block 的方法还有很多,这完全取决于你想做什么。
关于xml - 如何使用 ConvertTo-Xml 和 Select-Xml 加载或读取 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65263942/
我有一个简单的对象,其中 1 个参数是对象的 ArrayList。我正在使用 ConvertTo-Json 将其输出到 Json。但是,即使我设置了 -Depth 1000,我仍然会看到数据被截断。
我正在运行以下PowerShell代码,我需要保持原始哈希表键的顺序。 function New-GetServiceConnectionTask( $serviceConnectionId) {
我正在尝试将文本文件转换为 JSON 格式的字符串,但双引号的位置不正确。 我的 file.txt 包含以下结构化信息(开头还有两个空行): adapter_name : empt
运行以下命令: Get-Process | Select-Object Id,ProcessName,CPU,StartTime | ConvertTo-Json 生成的JSON将StartTime显
要使用 REST API,我必须传递一个如下所示的 JSON 对象: { "series" : [{ "metric": "custom.powershell.gauge",
如果嵌套太深,看起来Powershell在导出为JSON时会切断数据。我的对象层次结构如下所示: Main Object Metadata More Metadata Coll
我正在尝试创建一个 JSON 序列化数组。当该数组只包含一个项目时,我得到一个字符串,而不是一个字符串数组(在 JSON 中)。 多个项目(按预期工作): PS C:\> @("one", "two"
我在使用 ConvertTo-Json 时遇到问题,并试图了解其行为和/或我做错了什么。 考虑以下命令序列: $val=@{ID=10;Config=@{ID=11;Config=@{ID=12;Co
我正在使用下面的命令来生成下面的输出 $VMHost | ConvertTo-json | Out-File -encoding "UTF8" -FilePath ".\$VMHostName.re
运行这段代码 get-service | Select-Object -Property displayname, status, name | convertTo-Json 结果例如在这样的输出中:
This question already has an answer here: Powershell ConvertTo-JSON missing nested level (1个答案) 1年前关
在贡献者@ mklement0和@Theo的帮助下,通过在Powershell ConvertTo-Json problem with double-quotation marks这个问题中解释的解决
我在从远程服务器上的 XML 文件创建凭据对象时遇到问题。这是我用来测试的代码 XML 文件 Selected.System.Management.Automati
我正在使用 ConvertTo-Csv 获取逗号分隔的输出 get-process | convertto-csv -NoTypeInformation -Delimiter "," 它的输出如下:
您好,我在3.4版中使用opencv,并且想要读取图像(* .pgm),然后将其转换为CV_32SC1。因此,我使用以下代码(部分): img = imread(f, CV_LOAD_IMAGE_GR
我想将UMat转换为其他类型。 我已经尝试过使用UMat方法convertTo,但出现以下错误: AttributeError: 'cv2.UMat' object has no attribute
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我将灰度模式的图像加载到 Mat image 中.我用 image.convertTo(image, CV_32F);将数据类型转换为 double 。我想将图像转换成 vector ,所以我按以下方
我正在尝试将我的矩阵转换为 CV_32FC1 以训练我的 SVM。我总是收到错误消息: OpenCV Error: Assertion failed (func != 0) in convertTo,
我知道这个问题已经被其他人问过并回答过。但我仍然无法解决我的问题。我从视频中读取了一个帧,其格式为 unsigned char (CV_8U)。我希望将其转换为 double (CV_64F)。我做如
我是一名优秀的程序员,十分优秀!