加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我的XPath / XML有什么问题?

发布时间:2020-12-16 07:44:10 所属栏目:百科 来源:网络整理
导读:我正在尝试一个非常基本的XPath在 this xml(如下),它没有找到任何东西. 我正在尝试.NET和 this website,XPaths(如PropertyGroup,/ PropertyGroup和// MSBuildCommunityTasksPath)根本不适用于我(他们编译但返回零结果). 源XML: ?xml version="1.0" encoding
我正在尝试一个非常基本的XPath在 this xml(如下),它没有找到任何东西.
我正在尝试.NET和 this website,XPaths(如PropertyGroup,/ PropertyGroup和// MSBuildCommunityTasksPath)根本不适用于我(他们编译但返回零结果).

源XML:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <!-- $Id: FxCop.proj 114 2006-03-14 06:32:46Z pwelter34 $-->
    <PropertyGroup>
        <MSBuildCommunityTasksPath>$(MSBuildProjectDirectory)MSBuild.Community.TasksbinDebug</MSBuildCommunityTasksPath>
    </PropertyGroup>
    <Import
        Project="$(MSBuildProjectDirectory)MSBuild.Community.TasksMSBuild.Community.Tasks.Targets" />
    <Target Name="DoFxCop">
        <FxCop TargetAssemblies="$(MSBuildCommunityTasksPath)MSBuild.Community.Tasks.dll"
            RuleLibraries="@(FxCopRuleAssemblies)" 
            AnalysisReportFileName="Test.html"
            DependencyDirectories="$(MSBuildCommunityTasksPath)" 
            FailOnError="True"
            ApplyOutXsl="True"
            OutputXslFileName="C:Program FilesMicrosoft FxCop 1.32XmlFxCopReport.xsl" />
    </Target>
</Project>
您可以在代码和所有这些中添加命名空间,但可以有效地通配名称空间.尝试以下XPath成语.
//*[local-name()='PropertyGroup']
//*[local-name()='MSBuildCommunityTasksPath']

name()通常也可以正常工作,如:

//*[name()='PropertyGroup']
//*[name()='MSBuildCommunityTasksPath']

编辑:命名空间是伟大的,我不是建议他们不重要,但通配符在派对原型代码,一次性桌面工具,实验XSLT等方面很方便.平衡您的便利需求,以防止手头任务的可接受风险.如果需要,您还可以剥离或重新命名名称空间.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读