37

XMLオブジェクトを文字列に変換する方法を探しています。

Powershellに$xml.toString()のような方法はありますか?

4

4 に答える 4

66

あなたはおそらく探していOuterXmlます。

$xml.OuterXmlあなたが望むものをあなたに与えるべきです。

于 2013-03-14T13:29:15.810 に答える
9

XMLオブジェクトをどのように作成していますか?

通常、オブジェクトからXML文字列が必要な場合は、次を使用します。

$object | ConvertTo-Xml -As String
于 2013-03-14T13:27:36.810 に答える
2

これを試して:

[string[]]$text = $doc.OuterXml #or use Get-Content to read an XML File
$data = New-Object System.Collections.ArrayList
[void] $data.Add($text -join "`n")
$tmpDoc = New-Object System.Xml.XmlDataDocument
$tmpDoc.LoadXml($data -join "`n")
$sw = New-Object System.IO.StringWriter
$writer = New-Object System.Xml.XmlTextWriter($sw)
$writer.Formatting = [System.Xml.Formatting]::Indented
$tmpDoc.WriteContentTo($writer)
$sw.ToString()

このスクリプトを使用して、生成したXMLをWindowsフォームのTextBoxに書き込みました。

于 2019-11-07T09:39:59.690 に答える
0

より単純なバージョン:

[string]$outputString = $XmlObject.childNode.childNode.theElementValueIWant.ToString()

Xmlパスは、ソースXMLツリー構造がからのもの$XmlObjectです。

したがって、次の場合$XmlObject

<xmlRoot>
  <firstLevel>
    <secondLevel>
      <iWantThisValue>THE STRING I SEEK</iWantThisValue>
    </secondLevel>
  </firstLevel>
</xmlRoot>

使用するもの:

[string]$outputString = $XmlObject.firstLevel.secondLevel.iWantThisValue.ToString()
于 2021-07-26T06:04:40.987 に答える