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

Read xml from azure blob storage and retrive datasets from it using powershell

我在 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("//数据集"); $DOC.SelectNodes("Root/Dataset"); 我听不懂。

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

如果我没看错你的需求,你想获取每个子节点的所有标签名称。

如果是这样,请尝试以下 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)
        }
    }
}

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