xml - 来自不同文件的 Powershell XML 导入节点

标签 xml powershell

profile.xml 的内容:

<files>
  <file folder="CaptureServer" filename="CSConfig" object="CSConfig">
    <Profile name="BBH1200Kofax">
      <OutputCache>\</OutputCache>
      <EncryptedConnectionString>564rgr=</EncryptedConnectionString>
      <ConvertDocsBeforeRelease>false</ConvertDocsBeforeRelease>
    </Profile>
  </file>
  <file folder="CaptureServices3" filename="CSConfig" object="CSConfig">
    <Profile name="BBH1200Kofax">
      <ReleaseToEnterprise>true</ReleaseToEnterprise>
      <CaptureServerUrl />
      <OutputCache />
      <Credentials>
        <EncryptedPassword>46s4rg=</EncryptedPassword>
        <UserName />
        <Domain />
      </Credentials>
      <ConvertDocsBeforeRelease>false</ConvertDocsBeforeRelease>
    </Profile>
  </file>
</files>

rules.xml 内容:

<file folder="" filename="Rules" object="ArrayOfIBarcodeRule">
  <Profile name="Test471">
    <IBarcodeRule>
      <RuleName>DOC-TESTTESTTEST-Code128</RuleName>
      <FieldSequenceNumber>1</FieldSequenceNumber>
      <FieldRectangle>
        <Location>
          <X>0</X>
          <Y>0</Y>
        </Location>
        <Size>
          <Width>0</Width>
          <Height>0</Height>
        </Size>
      </FieldRectangle>
      <SeparationValue>TESTTESTTEST</SeparationValue>
    </IBarcodeRule>
  </Profile>
</file>

我正在尝试将 rules.xml(文件节点)的全部内容添加为 profile.xml 中的另一个节点。如您所见,profile.xml 中还有一堆其他文件节点,而 rules.xml 将是另一个文件节点。

这是我试过的代码,它似乎没有做任何事情:

$xml = [xml](Get-Content ".\profile.xml")
$newxml = [xml](Get-Content ".\rules.xml")
$xml.ImportNode($newxml.get_DocumentElement(), $true)
$xml.Save(".\profile.xml")

最佳答案

你真的很接近,但 ImportNode 只制作了一个副本,实际上并没有将复制的节点插入到文档中。试试这个:

$newNode = $newxml.ImportNode($xml.get_DocumentElement(), $true)
$newxml.DocumentElement.AppendChild($newNode)
$xml.Save("$pwd\profile.xml")  

关于xml - 来自不同文件的 Powershell XML 导入节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9944885/

相关文章:

xml - 删除 XSLT 中的空行

xml - 你能用antixml创建xml文档吗?

xml - 如何在 XSLT 中呈现带有属性的自闭合 HTML 标签?

powershell - 使用凭据在多个服务器上的注册表中更改值

PostBuild 中的 PowerShell 脚本

powershell - 使用Powershell在Excel中同时选择多个范围

xml - 默认密码应该始终为空吗?

java - Spring @Transactional 配置 xml

arrays - powershell数组清除方法及赋值

powershell - HMAC SHA256 Powershell 转换