0

暗号化されたパスワードを含む構成XMLファイルがあります。時々、このパスワードをリセットする必要があります。そのための方法論では、XMLファイルから事実上パスワードである文字列を取り除き、ファイルを保存します。

このプロセスには、管理できるいくつかのサービスの停止と再起動も含まれますが、文字列は毎回異なる可能性があるため、文字列を検索して置き換える方法をまだ理解していません。

これをVBSで実行したいのですが(スクリプトの世界ではこれでほとんど慣れているため)、他の方法で実行することを検討できてうれしいです。

置換機能を見てきましたが、検索条件にワイルドカードを入れる方法をまだ見つけていません。私は検索できる必要があります:

<A>randomstuff</A>

と置き換えます:

<A></A>

状況に精通している方のために、WebsenseEnterpriseManagerのパスワードをリセットしています。

XMLファイルはv1.0のようです。

<?xml version="1.0" encoding="UTF-8"?>

ありがとう。トム

4

3 に答える 3

1

XMLの解析に正規表現を使用しないでください。それらはそのタスクに適しているとはほど遠いです。あなたが探しているべき解決策は、VBScriptでXMLを解析する方法です。これは非常に簡単です。

XMLファイルを解析し、特定のパスワード要素のテキストを置き換えるスクリプトの例を次に示します。

Set xml = CreateObject("Msxml2.DOMDocument.6.0")
xml.Load "C:\doc.xml"
Set password = xml.SelectSingleNode("//root/element/password")
password.Text = "Hello, world"
xml.Save "C:\doc.xml"

スクリプトが機能するXMLファイルの例を次に示します。

<root>
    <element>
        <password>Example password</password>
    </element>
</root>

スクリプトの重要な部分は「SelectSingleNode」メソッドです。これは、XPath構文を使用して、必要な要素をXMLドキュメントで検索します。XPath構文は非常に単純であり、XPathの参照はオンラインでいくつでも見つけることができます。

于 2009-01-07T17:54:03.970 に答える
1

おそらく正規表現ですか?

通常、xml/html ファイルの解析にはお勧めしませんが、xml が非常に具体的なものであれば問題ないかもしれません。

于 2009-01-06T17:36:32.147 に答える
0

または、Windows マシンを使用している場合は、単一行の powershell コマンドを使用すると、さらに迅速かつ簡単になる可能性があります

(Get-Content doc.xml) -replace '<a>.*</a>','<a></a>' | Set-Content doc.xml

そして、履歴書に追加する途中で Powershell を学ぶことができます!

于 2015-11-23T05:39:32.790 に答える