如何在Powershell中获取特定的XML节点

尼古拉·约翰逊

我在Powershell中有以下XML:

[Xml]$MyXmlVariable = @"
<Mylist>
  <Item Number="1">
    <Name>"AMD Ryzen 5 3600x"</Name>
    <Type>"CPU"</Type>
    <Price>"$169.99"</Price>
    <Where>"Amazon"</Where>
    <Other>
      <ThreadCount>"12"</ThreadCount>
      <Cores>"6"</Cores>
    </Other>
  </Item>
</MyList>
"@

它对我来说似乎很不错,但是当我尝试定义它时,出现了错误

Cannot convert value "<Mylist>
  <Item Number="1">
    <Name>"AMD Ryzen 5 3600x"</Name>
    <Type>"CPU"</Type>
    <Price>".99"</Price>
    <Where>"Amazon"</Where>
    <Other>
      <ThreadCount>"12"</ThreadCount>
      <Cores>"6"</Cores>
    </Other>
  </Item>
</MyList>" to type "System.Xml.XmlDocument". Error: "The 'Mylist' start tag on line 1
position 2 does not match the end tag of 'MyList'. Line 12, position 3."
At line:1 char:1
+ [Xml]$MyXmlVariable = @"
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : MetadataError: (:) [], ArgumentTransformationMetadataExcepti
   on
    + FullyQualifiedErrorId : RuntimeException

AFAIK似乎没有错误,但Powershell表示相反。请帮忙

猫娘

XML是区分大小写的,因此这样的XML:

<test></Test>

出现错误也将不起作用

Cannot convert value "<test></Test>" to type "System.Xml.XmlDocument". Error: "The 'test'
start tag on line 1 position 2 does not match the end tag of 'Test'. Line 1, position 9."
At line:1 char:1
+ [xml]"<test></Test>"
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvalidCastToXmlDocument

在您的XML中,开始标签和结束标签是不同的:

[Xml]@"
<Mylist>
<!--l is not capitalized-->
  <Item Number="1">
    <Name>"AMD Ryzen 5 3600x"</Name>
    <Type>"CPU"</Type>
    <Price>"$169.99"</Price>
    <Where>"Amazon"</Where>
    <Other>
      <ThreadCount>"12"</ThreadCount>
      <Cores>"6"</Cores>
    </Other>
  </Item>
</MyList>
<!--l is capitalized-->
"@

这意味着<Mylist></MyList>是两个不同的节点。

这是导致您出错的原因,请尝试

[Xml]$MyXmlVariable = @"
<MyList>
  <Item Number="1">
    <Name>"AMD Ryzen 5 3600x"</Name>
    <Type>"CPU"</Type>
    <Price>"$169.99"</Price>
    <Where>"Amazon"</Where>
    <Other>
      <ThreadCount>"12"</ThreadCount>
      <Cores>"6"</Cores>
    </Other>
  </Item>
</MyList>
"@

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Powershell 中获取 XML 节点属性值?

来自分类Dev

如何在groovy中的特定节点下获取xml

来自分类Dev

如何在PowerShell中从不同的xml节点动态读取特定的XML属性

来自分类Dev

获取xml中的特定节点?

来自分类Dev

如何在XML中按ID获取节点?

来自分类Dev

如何在pugixml中获取节点的内部XML?

来自分类Dev

如何在XML中按ID获取节点?

来自分类Dev

如何在SQL Server中根据条件获取xml节点

来自分类Dev

如何在Powershell中获得子XML节点的所有父节点

来自分类Dev

JAVA XML-如何获取XML节点中的特定元素?

来自分类Dev

如何从SQL中的XML获取指定的节点

来自分类Dev

如何使用Java获取XML中的节点?

来自分类Dev

如何在 Java 中读取 XML DOM 对象中的特定节点?

来自分类Dev

如何使用C#在xml中获取特定的子节点值

来自分类Dev

如何在 GridPane 中引用特定节点

来自分类Dev

如何在omnet ++中获取模型的节点?

来自分类Dev

如何在Angular中获取父节点

来自分类Dev

如何在C ++中获取非二叉树中特定节点的所有子节点

来自分类Dev

Powershell和XML:如何计算每个节点的特定元素

来自分类Dev

如何在Haxe中删除Xml节点

来自分类Dev

如何在xml中读取子节点

来自分类Dev

XML中的特定节点

来自分类Dev

在PowerShell中获取XML节点字符串的属性

来自分类Dev

如何在C#中更新XML文档的特定子节点值

来自分类Dev

无法获取特定的XML节点

来自分类Dev

如何在IE8中获取XML节点的文本值?

来自分类Dev

如何在C#中按属性名称获取XML节点筛选的值?

来自分类Dev

如何在 Firebase for Android 中获取根节点的子节点

来自分类Dev

如何在android中从Firebase获取子节点的子节点?

Related 相关文章

热门标签

归档