使用 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)
}
}
}
如有任何疑问,请随时告诉我。
我在 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)
}
}
}
如有任何疑问,请随时告诉我。