从azure blob存储读取xml并使用powershell从中检索数据集

时间:2016-07-05 14:14:30

标签: azure-storage-blobs powershell-v4.0

我在azure blob中有一个xml文件,我可以使用url访问它。我能够使用powershell读取xml。

$DOC= New-Object System.Xml.XmlDocument;
$DOC.Load("https://logs.blob.core.windows.net/../../xxx.xml");
$DOC.Root.Dataset;

给了我所有的属性。

但我需要从xml中获取整个数据集。

我尝试过使用过     $ DOC.SelectSingleNode(" //数据集&#34);     $ DOC.SelectNodes("根/数据集&#34); 我无法得到它。

使用Import-Clixml"。\ xxx.xml"将文件保存到本地并读取文件不是我的要求。 不同的xmls可能有不同的子节点,我需要从我提供的xml中获取数据集。

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的要求,您希望获得每个子节点的所有标记名称。

如果是这样,请尝试以下PowerShell脚本:

$DOC= New-Object System.Xml.XmlDocument;
$DOC.Load("http://garyteststorage.blob.core.windows.net/mycontainer/text.xml");
$xml = $DOC.FirstChild
printDataset($xml)
function printDataset($nodes){
    foreach($dataset in $nodes.ChildNodes){
        $dataset.LocalName
        if($dataset.ChildNodes.LocalName -ne '#text'){
            printDataset($dataset)
        }
    }
}

如有任何疑问,请随时告诉我。