retrieve Xml

One:

static string GetProperty(string name)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("WEBSSTestSuite.deployment.ptfconfig");
            XmlNodeList xe = xmlDoc.GetElementsByTagName("Property");
            int i = 0;
            while (xe[i] != null)
            {
                if (xe[i].Attributes[0].InnerText == name)
                {
                    return(xe[i].Attributes[1].InnerText);
                }
                i++;
            }
            Console.WriteLine("Value not found!");
            return null;
        }

 

Two:

static string GetProperty2(string name)
        {
            XPathDocument document = new XPathDocument("WEBSSTestSuite.deployment.ptfconfig");
            XPathNavigator navigator = document.CreateNavigator();
            XPathExpression query = navigator.Compile("/bk:TestSite/bk:Properties/bk:Property");          
            XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
            manager.AddNamespace("bk", "http://schemas.microsoft.com/windows/ProtocolsTest/2007/07/TestConfig");
            query.SetContext(manager);

            XPathNodeIterator nodes = navigator.Select(query);
            while (nodes.MoveNext())
            {
                nodes.Current.MoveToFirstAttribute();
                if (nodes.Current.Value == name)
                {
                    nodes.Current.MoveToNextAttribute();
                    return nodes.Current.Value;
                }
            }
            return null;
        }

 

 

So which is better?

 

WEBSSTestSuite.deployment.ptfconfig:

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <TestSite xmlns="http://schemas.microsoft.com/windows/ProtocolsTest/2007/07/TestConfig"
  3.           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.           xsi:schemaLocation="http://schemas.microsoft.com/windows/ProtocolsTest/2007/07/TestConfig http://schemas.microsoft.com/windows/ProtocolsTest/2007/07/TestConfig.xsd">
  5.   <Properties>
  6.     <!-- Properties related to test environment -->
  7.     <Property name="HttpUrl" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
  8.     <Property name="HttpsUrl" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
  9.     <Property name="SiteName" value="https://webss2008/"/>
  10.     <Property name="DomainAuthorized" value="peopletest"/>
  11.     <Property name="UserNameAuthorized" value="administrator"/>
  12.     <Property name="UserPasswordAuthorized" value="Versi0n2!"/>
  13.     <Property name="DomainUnauthorized" value="Fareast1"/>
  14.     <Property name="UserNameUnauthorized" value="pt3lab1"/>
  15.     <Property name="UserPasswordUnauthorized" value="lixunhuan*19851"/>
  16.     <!--Properties related to the SUTControlAdapter-->
  17.     <Property name="Backup" value="c://backup.bat"/>
  18.     <Property name="Restore" value="c://restore.bat"/>
  19.     <Property name="RemoteObjectUri" value="http://webss2008:34567/RemoteObject.soap"/>
  20.     
  21.     <!--Properties of CreateContentType Operation-->
  22.     <Property name="CreateContentTypeDisplayNameValid" value ="CreatedByCreateContentType"/>
  23.     <Property name="CreateContentTypeDisplayNameExistContentTypeName" value ="Link"/>
  24.     <Property name="CreateContentTypeParentTypeValid" value ="0x0101"/>
  25.     <Property name="CreateContentTypeParentTypeInvalidContentTypeIdentifier" value ="12312442341244"/>
  26.     <Property name="CreateContentTypeParentTypeUnavailableContentTypeIdentifier" value ="124124124124"/>
  27.     
  28.     <!--Properties of DeleteContentType Operation-->
  29.     <!--<Property name="DeleteContentTypeContentTypeIdValid" value ="0x010100BB8583615283DF4C993474FD0A4DBB3B"/>-->
  30.     <Property name="DeleteContentTypeContentTypeIdValid.Name" value ="ContentTypeForDelete"/>                                                         
  31.     <Property name="DeleteContentTypeContentTypeIdInvalidContentTypeID" value ="1211213212"/>
  32.     <Property name="DeleteContentTypeContentTypeIdContentTypeCanNotFound" value ="45564646545464987"/>
  33.     <Property name="DeleteContentTypeContentTypeIdContentTypeCanNotDeleted" value ="TDI blocked."/>
  34.     
  35.     <!--Properties of GetContentType Operation-->             
  36.     <Property name="GetContentTypeContentTypeIdValid" value ="0x01010045F406D1A3C37F4D92B4133995FB2E42"/>
  37.     <Property name="GetContentTypeContentTypeIdContentTypeHasLocalizations" value =""/>
  38.     <Property name="GetContentTypeContentTypeIdContentTypeHasNotLocalizations" value =""/>
  39.     <Property name="GetContentTypeContentTypeIdContentTypeHasNonEmptyGUIDFeatureID" value =""/>
  40.     <Property name="GetContentTypeContentTypeIdContentTypeHasNotNonEmptyGUIDFeatureID" value =""/>
  41.     <Property name="GetContentTypeContentTypeIdUnavailableContentTypeID" value ="dasfasdfaad"/>
  42.     <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.DocumentTemplate.TargetName" value =""/>
  43.     <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.Name" value ="testContentType"/>
  44.     <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.Group" value ="Custom Content Types"/>
  45.     <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.Description" value ="This string is creat by CreateContentType operation"/>
  46.     <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.NewDocumentControl" value ="FictiveID"/>
  47.     <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.RequireClientRenderingOnNew" value ="FALSE"/>
  48.     
  49.     <!--Properties of GetContentTypes Operation-->
  50.     <Property name="GetContentTypesResult.ContentTypes.ContentType.ID" value ="0x01010045F406D1A3C37F4D92B4133995FB2E42"/>                                                                                
  51.     <Property name="GetContentTypesResult.ContentTypes.ContentType.Name" value ="testContentType"/>
  52.     <Property name="GetContentTypesResult.ContentTypes.ContentType.Description" value ="This string is creat by CreateContentType operation"/>
  53.     <Property name="GetContentTypesResult.ContentTypes.ContentType.Group" value ="Custom Content Types"/>
  54.     <Property name="GetContentTypesResult.ContentTypes.ContentType.NewDocumentControl" value ="FictiveID"/>
  55.     
  56.     <!--Properties of RevertFileContentStreamFile Operation-->
  57.     <Property name="RevertFileContentStreamFileUrlValid" value ="http://webss2008/TestSubSite/default.aspx"/>
  58.     <Property name="RevertFileContentStreamFileUrlInvalidUrl" value ="dfadsadsfa"/>
  59.     <Property name="RevertFileContentStreamFileUrlInvalidSiteUrl" value ="http://www.sina.com.cn"/>
  60.     <Property name="RevertFileContentStreamFileUrlValidUrlReferToParentSite" value ="http://webss2008/Pages/Default.aspx"/>
  61.     
  62.     <Property name="RevertFileContentStreamFileUrlUrlNotPartOfSiteDefinition" value ="http://webss2008/Pages/Default.aspx"/>
  63.     <Property name="RevertFileContentStreamFileUrlNotReferToPage" value ="http://webss2008/TestSubSite/notReferToAPage.aspx"/>
  64.     <!--Properties of UpdateContentType Operation-->
  65.     <Property name="UpdateContentTypeContentTypeIdValid" value ="0x0101003136A0B14FD1CE41A4DE538F5CCE78F4"/>
  66.     <Property name="UpdateContentTypeContentTypeIdInvalidContentTypeID" value ="0x32131239801284390238940"/>
  67.     <Property name="UpdateContentTypeContentTypeIdNotOnTheContextSite" value ="0x324r324jl2k3j"/>
  68.     <Property name="UpdateContentTypeContentTypeIdChangeNotAllowedContentTypeID" value ="TDI Blocked"/>
  69.     <Property name="UpdateContentTypeContentTypeProperties.Description" value ="update by yangbao"/>
  70.     <Property name="UpdateContentTypeContentTypeProperties.Group" value ="Custom Content Types"/>
  71.     <Property name="UpdateContentTypeContentTypeProperties.Name" value ="ChangeByUpdateContentType"/>
  72.     <Property name="UpdateContentTypeContentTypeProperties.NewDocumentcontrol" value ="12345"/>
  73.     <Property name="UpdateContentTypeContentTypeProperties.RequireClientRenderingOnNew" value ="FALSE"/>
  74.     
  75.     <!--NewFields parameter-->
  76.     <Property name="UpdateContentTypeNewFields.Method.Id" value ="Insert0"/>
  77.     <Property name="UpdateContentTypeNewFieldsValidFieldCanBeFound" value ="{246D0907-637C-46b7-9AA0-0BB914DAA832}"/>
  78.     <Property name="UpdateContentTypeNewFieldsFieldCanNotBeFound" value ="{fa564e0f-1234-4ab9-b863-0177e6ddd247}"/>
  79.     <!--UpdateFields parameter-->
  80.     <Property name="UpdateContentTypeUpdateFields.Method.Id" value ="Update0"/>
  81.     <Property name="UpdateContentTypeUpdateFieldsValidFieldCanBeFound" value ="{038D1503-4629-40f6-ADAF-B47D1AB2D4FE}"/>
  82.     <Property name="UpdateContentTypeUpdateFieldsFieldCanNotBeFound" value ="{fa564e0f-1234-4ab9-b863-0177e6ddd247}"/>
  83.     <!--DeleteFields parameter-->
  84.     <Property name="UpdateContentTypeDeleteFields.Method.ID" value ="Delete0"/>
  85.         
  86.     <Property name="UpdateContentTypeDeleteFieldsValidFieldCanBeFound" value ="{810DBD02-BBF5-4c67-B1CE-5AD7C5A512B2}"/>
  87.     
  88.     <Property name="UpdateContentTypeDeleteFieldsFieldCanNotBeFound" value ="{fa564e0f-1234-4ab9-b863-0177e6ddd247}"/>
  89.                     
  90.     <!--GetCustomizedPageStatus Parameter-->
  91.     <Property name="GetCustomizedPageStatusFileUrlValid" value ="http://webss2008/TestSubSite/default.aspx"/>
  92.     <Property name="GetCustomizedPageStatusFileUrlInvalid" value ="http://webss2008/TestSubSite/defaulterror.aspx"/>
  93.     <!--RemoveContentTypeXmlDocument Parameter-->
  94.     <Property name="RemoveContentTypeXmlDocumentContentTypeIdOptionValid" value ="0x010100A2E3C117A0C5482FAEE3D57C48CB042F007C873E87D89B004E9FD3E05878B3FF02"/>
  95.     <!--Issue blocked by Sealed Content Type ID-->
  96.     <Property name="RemoveContentTypeXmlDocumentContentTypeIdOptionSealed" value ="0x0101"/>
  97.     <Property name="RemoveContentTypeXmlDocumentContentTypeIdOptionNotFound" value ="45564646545464987"/>
  98.     <Property name ="RemoveContentTypeXmlDocumentDocumentUriOptionValid" value ="http://webss2008/customInfo"/>
  99.     <!--Properties of UpdateContentTypeXmlDocument Operation-->
  100.     <Property name="UpdateContentTypeXmlDocumentContentTypeIdValid" value ="0x010100A2E3C117A0C5482FAEE3D57C48CB042F00A70326D0750CC44797AD2AE5317E53DF"/>
  101.     <!--Issue blocked by Sealed Content Type ID-->
  102.     <Property name="UpdateContentTypeXmlDocumentContentTypeIdSealedContentTypeID" value ="TDI blocked"/>
  103.     <Property name="UpdateContentTypeXmlDocumentContentTypeIdContentTypeIDNotFound" value="45564646545464987"/>
  104.     <Property name="UpdateContentTypeXmlDocumentContentTypeNewDocumentValid" value="<customInfo xmlns="http://webss2008/customInfo">Here is some custom information</customInfo>"/>
  105.     <Property name="UpdateContentTypeXmlDocumentContentTypeNewDocumentMalformedXml" value=""/>
  106.     <!--Properties of CustomizeCss Operation-->
  107.     <Property name="CustomizeCssCssFileExist" value="menu.css"/>
  108.     <Property name="CustomizeCssNoFileNameExtension" value="core"/>
  109.     <Property name="CustomizeCssCssFileNotExist" value="notexist.css"/>
  110.     <Property name="CustomizeCssCssFileContainsAsterisk" value="me*u.css"/>
  111.     <!--Properties of GetActivatedFeatures Operation-->
  112.     <Property name="GetActivatedFeaturesValidServerUrl" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
  113.     <Property name="GetActivatedFeaturesInalidServerUrl" value="http://webss2008/TestSubSite/NotExist/_VTI_BIN/WEBS.ASMX"/>
  114.     <!--Properties of GetColumns Operation-->
  115.     <Property name="GetColumnsValid" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
  116.     <Property name="GetColumnsContainsInvalidAttribute" value="http://webss2008/TestSubSite/ContainsInvalidColumn/_VTI_BIN/WEBS.ASMX"/>
  117.     <!--Properties of GetWeb Operation-->
  118.     <Property name="GetWebValidSite" value="http://webss2008/TestSubSite"/>
  119.     <Property name="GetWebInvalid" value="http://webss2008/TestSubSite/invalid"/>
  120.     <!--Properties of RevertCss Operation-->
  121.     <Property name="RevertCssCssFileExist" value="menu.css"/>
  122.     <Property name="RevertCssNoFileNameExtension" value="core"/>
  123.     <Property name="RevertCssCssFileNotExist" value="notexist.css"/>
  124.     <!--Properties of WebUrlFromPageUrl Operation-->
  125.     <Property name="WebUrlFromPageUrlPageUrl" value="http://webss2008/TestSubSite/default.aspx"/>
  126.     <Property name="WebUrlFromPageUrlWebUrl" value="http://webss2008/TestSubSite"/>
  127.     <!--Properties of UpdateColumns Operation-->
  128.     <Property name="UpdateColumnsNewFieldsInvalidFiedDefinitionSite" value="http://webss2008/TestSubSite/AddInvalidColumn/_VTI_BIN/WEBS.ASMX"/>
  129.     <Property name="UpdateColumnsNewFieldsName" value="NewColumn1"/>
  130.     <Property name="UpdateColumnsNewFieldsType" value="Text"/>
  131.     <Property name="UpdateColumnsNewFieldsExistingName" value="Language"/>
  132.     <Property name="UpdateColumnsUpdateFieldsName" value="UpdateColumn1"/>
  133.     <Property name="UpdateColumnsUpdateFieldsType" value="Text"/>
  134.     <Property name="UpdateColumnsUpdateFieldsNoMatchingName" value="UpdateColumn2"/>
  135.     <Property name="UpdateColumnsDeleteFieldsName" value="DeleteColumn1"/>
  136.     <Property name="UpdateColumnsDeleteFieldsNoMatchingName" value="DeleteColumn2"/>
  137.     <!--Properties of GetAllSubWebCollection Expected Result-->
  138.     <Property name="GetAllSubWebCollection1Title" value="Home"/>
  139.     <Property name="GetAllSubWebCollection1URL" value="http://webss2008"/>
  140.     <Property name="GetAllSubWebCollection2Title" value="Document Center"/>
  141.     <Property name="GetAllSubWebCollection2URL" value="http://webss2008/Docs"/>
  142.     <Property name="GetAllSubWebCollection3Title" value="News"/>
  143.     <Property name="GetAllSubWebCollection3URL" value="http://webss2008/News"/>
  144.     <Property name="GetAllSubWebCollection4Title" value="Reports"/>
  145.     <Property name="GetAllSubWebCollection4URL" value="http://webss2008/Reports"/>
  146.     <Property name="GetAllSubWebCollection5Title" value="Search"/>
  147.     <Property name="GetAllSubWebCollection5URL" value="http://webss2008/SearchCenter"/>
  148.     <Property name="GetAllSubWebCollection6Title" value="Sites"/>
  149.     <Property name="GetAllSubWebCollection6URL" value="http://webss2008/SiteDirectory"/>
  150.     <Property name="GetAllSubWebCollection7Title" value="TestSubSite"/>
  151.     <Property name="GetAllSubWebCollection7URL" value="http://webss2008/TestSubSite"/>
  152.     <Property name="GetAllSubWebCollection8Title" value="AnInvalidColumn"/>
  153.     <Property name="GetAllSubWebCollection8URL" value="http://webss2008/AnInvalidColumn"/>
  154.     <Property name="GetAllSubWebCollection9Title" value="ContainsInvalidColumn "/>
  155.     <Property name="GetAllSubWebCollection9URL" value="http://webss2008/ContainsInvalidColumn "/>
  156.     <!--Properties of GetWebCollection Expected Result-->
  157.     <Property name="GetWebCollection1Title" value="AddInvalidColumn"/>
  158.     <Property name="GetWebCollection1URL" value="http://webss2008/TestSubSite/AddInvalidColumn"/>
  159.     <Property name="GetWebCollection2Title" value="ContainsInvalidColumn "/>
  160.     <Property name="GetWebCollection2URL" value="http://webss2008/TestSubSite/ContainsInvalidColumn "/>
  161.   </Properties>
  162.   <Adapters>
  163.   </Adapters>
  164.   
  165.   <!-- The default profile name.-->
  166.   <TestLog defaultprofile="Verbose">
  167.     <Sinks>
  168.     </Sinks>
  169.     <Profiles>
  170.     </Profiles>
  171.   </TestLog>
  172. </TestSite>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值