首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >select-xml不返回任何结果

select-xml不返回任何结果
EN

Stack Overflow用户
提问于 2010-12-09 18:19:57
回答 4查看 5.9K关注 0票数 2

我尝试使用powershell命令select-xml从xml文件中选择数据。当我运行下面的命令时,没有返回任何结果或错误。我希望将版本列表返回到屏幕上。这有什么问题吗?

代码语言:javascript
复制
PS C:\> select-xml -path "C:\t.xml" -xpath "//edition" | foreach {$_.node.InnerXML}
PS C:\>

XML文件(C:\t.xml)是:

代码语言:javascript
复制
 <?xml version="1.0" encoding="utf-8"?>
  <Book>
    <projects>
      <project name="Book1" date="2009-01-20">
        <editions>
           <edition language="English">En.Book1.com</edition>
           <edition language="German">Ge.Book1.Com</edition>
           <edition language="French">Fr.Book1.com</edition>
           <edition language="Polish">Pl.Book1.com</edition>
        </editions>
      </project>
    </projects>
  </Book>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-09 19:57:17

好了,我知道问题出在哪里了。XML声明的第一个节点之前有一个空格字符。真的很讨厌。我试过你的第一句话:

代码语言:javascript
复制
PS H:\> $xml = ([xml](Get-Content -Path C:\scripts\t.xml)).Book.Projects.Project

它的错误是:

"..The XML声明必须是文档中的第一个节点,并且它前面不允许出现空格字符...“

我确信,当尝试读取xml文件时,select-xml应该会失败,并出现同样的错误。xml文件在IE中呈现正常。

票数 3
EN

Stack Overflow用户

发布于 2010-12-09 18:51:15

另一种方法是:

代码语言:javascript
复制
PS H:\> $xml = ([xml](Get-Content -Path C:\scripts\t.xml)).Book.Projects.Project
PS H:\> $xml.editions | select -ExpandProperty Edition

language                                                    #text
--------                                                    -----
English                                                     En.Book1.com
German                                                      Ge.Book1.Com
French                                                      Fr.Book1.com
Polish                                                      Pl.Book1.com
票数 3
EN

Stack Overflow用户

发布于 2010-12-09 21:54:39

$_.node返回没有innerXml属性的System.Xml.XmlElement

代码语言:javascript
复制
Select-Xml -Path C:\t.xml -XPath "//edition" | 
    % {$_.node} | get-member | out-gridview
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4397091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档