我在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中获取数据集。
答案 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)
}
}
}
如有任何疑问,请随时告诉我。