因此,我正在尝试编写一个脚本,以仅从值是特定单词的XML文件中提取数据。
这是我的XML的样子:
<Scan>
<ScanDate>2020-06-25T08:58:31.7792998-04:00</ScanDate>
<ValidatedOnline>true</ValidatedOnline>
</Scan>
我正在寻找哪里
<ValidatedOnline>false</ValidatedOnline>
这是我的PowerShell的外观:
$DevicePath = 'tcphost\file.xml'
[xml]$Scans = Get-Content $DevicePath
$DateTime = Get-Date
Select-Xml -Xml $Scans -XPath "//ValidatedOnline" |
Where-Object {$_.Node -match "false"} |
Select -Property $DateTime.ToString(), $DevicePath -ExpandProperty node |
Out-File -FilePath 'destination\destination.txt' -NoClobber -Append
我遇到的问题是Where-Object。我一辈子都无法弄清楚如何正确获取所需的内容,XML的ValidatedOnline部分中的false值。有什么想法吗?
答案 0 :(得分:0)
在“ #text”下查找:
from django.contrib.sitemaps import Sitemap, GenericSitemap
from django.shortcuts import reverse
from .models import WebSite, Article, Settings
class StaticViewSitemap(Sitemap):
def items(self):
urls = ['index', 'about']
if Settings().get_value('general_use_blog'):
urls.append('blog')
return urls
def location(self, item):
return reverse(item)
class WebSiteSitemap(Sitemap):
@staticmethod
def sitemap():
return GenericSitemap(
{
'queryset': WebSite.objects.filter(visible=True),
'date_field': 'modified_date',
},
priority=0.9)
class ArticleSitemap(Sitemap):
@staticmethod
def sitemap():
if not Settings().get_value('general_use_articles'):
return GenericSitemap({'queryset': Article.objects.none()})
return GenericSitemap(
{
'queryset': Article.objects.filter(allow_publication=True, visible=True),
'date_field': 'modified_date'
},
priority=1)
答案 1 :(得分:0)
您可以尝试直接使用XPath选择节点:
Select-Xml -Xml $Scans -XPath "//ValidatedOnline[.="false"]" |
Select -Property $...
或@ js2010概述:
Select-Xml -Xml $Scans -XPath "//ValidatedOnline" |
Where-Object {$_.Node.'#text' -match "false"}