2017-04-11 8 views
-3
<?xml version="1.0" encoding="UTF-8"?> 
<Tc_data_access_config> 
<privileges> 
<priv_name>READ</priv_name> 
<priv_name>WRITE</priv_name> 
<priv_name>COPY</priv_name> 
<priv_name>CHANGE</priv_name> 
<priv_name>DELETE</priv_name> 
</privileges> 
<named_acls> 
<named_acl> 
<acl_name>Working</acl_name> 
<acl_name language="fr_FR">working_fr</acl_name> 
<acl_name language="de_DE">working_de</acl_name> 
<acl_name language="jp_JP">working_jp</acl_name> 
<ace_entry> 
<accessor_type>group</accessor_type> 
<accessor>dba</accessor> 
<grant> 
<p>READ</p> 
<p>WRITE</p> 
<p>COPY</p> 
</grant> 
<revoke> 
<p>DELETE</p> 
<p>CHANGE</p> 
</revoke> 
</ace_entry> 
<ace_entry> 
<accessor_type>Owning Group</accessor_type> 
<accessor> </accessor> 
<grant> 
<p>READ</p> 
<p>WRITE</p> 
<p>COPY</p> 
</grant> 
<revoke> 
<p>DELETE</p> 
<p>CHANGE</p> 
</revoke> 
</ace_entry> 
</named_acl> 
<named_acl> 
<acl_name>In Project ACL</acl_name> 
<acl_name language="fr_FR">In Project ACL fr</acl_name> 
<acl_name language="de_DE">In Project ACL de</acl_name> 
<acl_name language="jp_JP">In Project ACL jp</acl_name> 
<ace_entry> 
<accessor_type>group</accessor_type> 
<accessor>dba</accessor> 
<grant> 
<p>READ</p> 
<p>WRITE</p> 
<p>COPY</p> 
</grant> 
<revoke> 
<p>DELETE</p> 
<p>CHANGE</p> 
</revoke> 
</ace_entry> 
<ace_entry> 
<accessor_type>Owning Group</accessor_type> 
<accessor> </accessor> 
<grant> 
<p>READ</p> 
<p>WRITE</p> 
<p>COPY</p> 
</grant> 
<revoke> 
<p>DELETE</p> 
<p>CHANGE</p> 
</revoke> 
</ace_entry> 
</named_acl> 
</named_acls> 
<rule_tree> 
<tree_node> 
<rule_name>Has Class</rule_name> 
<rule_argument>POM_object</rule_argument> 
<acl_name></acl_name> 
<tree_node> 
<rule_name>Has Bypass</rule_name> 
<rule_argument>true</rule_argument> 
<acl_name>Bypass</acl_name> 
</tree_node> 
<tree_node> 
<rule_name>Has Status</rule_name> 
<rule_argument></rule_argument> 
<acl_name>Vault</acl_name> 
</tree_node> 
<tree_node> 
<rule_name>Has Class</rule_name> 
<rule_argument>POM_application_object</rule_argument> 
<acl_name>Working</acl_name> 
<tree_node> 
<rule_name>Has Class</rule_name> 
<rule_argument>Dataset</rule_argument> 
<acl_name>Dataset ACL</acl_name> 
</tree_node> 
</tree_node> 
</tree_node> 
</rule_tree> 
</Tc_data_access_config> 

こんにちは、 は、私はいくつかの新しいデータを挿入したい場所の上のXMLファイルを持っているという考えである特定の行番号(推奨)後、または特定の後に行のセット(後でいくつかの複数行のタグ・テキストを見つけて挿入します)。挿入新しいXMLテキストが

<tree_node> 
<rule_name>Has Class</rule_name> 
<rule_argument>POM_object</rule_argument> 
<acl_name></acl_name> 
<tree_node> 
<rule_name>Has Bypass</rule_name> 
<rule_argument>true</rule_argument> 
<acl_name>Bypass</acl_name> 
</tree_node> 
<tree_node> 
<rule_name>Has Status</rule_name> 
<rule_argument></rule_argument> 
<acl_name>Vault</acl_name> 
</tree_node> 
<tree_node> 
<rule_name>Has Class</rule_name> 
<rule_argument>POM_application_object</rule_argument> 
<acl_name>Working</acl_name> 
<tree_node> 
<rule_name>Has Class</rule_name> 
<rule_argument>Dataset</rule_argument> 
<acl_name>Dataset ACL</acl_name> 
</tree_node> 
</tree_node> 
</tree_node> 

、その後、これを追加します:

は、このテキストを見つける必要としましょう

<tree_node> 
<rule_name>Has BLA</rule_name> 
<rule_argument>324234</rule_argument> 
<acl_name></acl_name> 
<tree_node> 
<rule_name>Has TEST</rule_name> 
<rule_argument>true</rule_argument> 
<acl_name>NO</acl_name> 
</tree_node> 
<tree_node> 
<rule_name>Has BLABLA</rule_name> 
<rule_argument></rule_argument> 
<acl_name>Vault</acl_name> 
</tree_node> 
<tree_node> 
<rule_name>Has Class</rule_name> 
<rule_argument>test</rule_argument> 
<acl_name>Working</acl_name> 
<tree_node> 
<rule_name>Has test</rule_name> 
<rule_argument>Dataset</rule_argument> 
<acl_name>Dataset ACL</acl_name> 
</tree_node> 
</tree_node> 
</tree_node> 

を何がPowerShellのまたはいくつかの他のスクリプト言語を言うことができますで行うことができますか? 助けてくれてありがとう!

+2

他人があなたの仕事をする場所ではありません。 XMLにデータを挿入することは何度か行われています。そのため、複数の答えを見つけることができます。 –

答えて

0

オブジェクトを適切に使用している場合、必要な値に「ドットウォーク」することができます。何かのように $ c.tree_node.rule_name

私が使用するwifiスクリプトの一部です。ファイルがオブジェクトとしてどのようにロードされているかを見ることができます。次に、作業したいXMLのプロパティに移動します。次に、新しいXMLを変更して保存するためにPSH fooを実行できます。

Get-ChildItem -Path $path -Recurse | 
Foreach-Object { 
    [xml]$c = Get-Content -path $_.fullname 

$connections += New-Object pscustomobject -Property @{ 
    ‘name’ = $c.WLANProfile.name; 
    ‘mode’ = $c.WLANProfile.connectionMode; 
    ‘ssid’ = $c.WLANProfile.SSIDConfig.SSID.hex 

    } 
} 

$connections | Export-CliXml 
"$($PSScriptRoot)\$($env:COMPUTERNAME)_Backup.xml" 
関連する問題