XML в строку PowerShell - PullRequest
       12

XML в строку PowerShell

0 голосов
/ 14 мая 2018

Я пытаюсь вывести "John Doe" в строку с OuterXml.Последняя строка ничего не возвращает.

<?xml version="1.0" encoding="utf-8"?>
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:New-Hire-Checklists:-myXSD-2016-01-21T15-44-37" solutionVersion="1.1.6.702" productVersion="16.0.0.0" PIVersion="1.0.0.0" href="https://symbiota.sharepoint.com/employeechecklists/NewHires/Forms/template.xsn"?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.4"?>
<?mso-infoPath-file-attachment-present?>
<my:myFields my:Empl-StartDate="2019-01-01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:ma="http://schemas.microsoft.com/office/2009/metadata/properties/metaAttributes" xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields" xmlns:q="http://schemas.microsoft.com/office/infopath/2009/WSSList/queryFields" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2016-01-21T15:44:37" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-US">
    <my:Empl-Name>John Doe</my:Empl-Name>
</my:myFields>
[xml]$user = Get-Content "C:\Powershell\jd.xml"

$user.myFields | Select-Object Empl-Name

# Output:
#
# Empl-Name      
# ---------      
# John Doe

$name = $user.myFields.OuterXml | Select-Object Empl-Name
$name

# Output:
#
# Empl-Name
# ---------

1 Ответ

0 голосов
/ 15 мая 2018

пытается вывести "John Doe" в строку

Сделайте это ...

[xml]$doc = @"
<?xml version="1.0" encoding="utf-8"?>
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:New-Hire-Checklists:-myXSD-2016-01-21T15-44-37" solutionVersion="1.1.6.702" productVersion="16.0.0.0" PIVersion="1.0.0.0" href="https://symbiota.sharepoint.com/employeechecklists/NewHires/Forms/template.xsn"?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.4"?>
<?mso-infoPath-file-attachment-present?>
<my:myFields my:Empl-StartDate="2019-01-01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:ma="http://schemas.microsoft.com/office/2009/metadata/properties/metaAttributes" xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields" xmlns:q="http://schemas.microsoft.com/office/infopath/2009/WSSList/queryFields" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2016-01-21T15:44:37" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-US">
<my:Empl-Name>John Doe</my:Empl-Name>
</my:myFields>
"@

$doc.myFields."Empl-Name"

Эта последняя строка вернет строку.Это самый простой способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...