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:
- <?xml version="1.0" encoding="utf-8" ?>
- <TestSite xmlns="http://schemas.microsoft.com/windows/ProtocolsTest/2007/07/TestConfig"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://schemas.microsoft.com/windows/ProtocolsTest/2007/07/TestConfig http://schemas.microsoft.com/windows/ProtocolsTest/2007/07/TestConfig.xsd">
- <Properties>
- <!-- Properties related to test environment -->
- <Property name="HttpUrl" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
- <Property name="HttpsUrl" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
- <Property name="SiteName" value="https://webss2008/"/>
- <Property name="DomainAuthorized" value="peopletest"/>
- <Property name="UserNameAuthorized" value="administrator"/>
- <Property name="UserPasswordAuthorized" value="Versi0n2!"/>
- <Property name="DomainUnauthorized" value="Fareast1"/>
- <Property name="UserNameUnauthorized" value="pt3lab1"/>
- <Property name="UserPasswordUnauthorized" value="lixunhuan*19851"/>
- <!--Properties related to the SUTControlAdapter-->
- <Property name="Backup" value="c://backup.bat"/>
- <Property name="Restore" value="c://restore.bat"/>
- <Property name="RemoteObjectUri" value="http://webss2008:34567/RemoteObject.soap"/>
- <!--Properties of CreateContentType Operation-->
- <Property name="CreateContentTypeDisplayNameValid" value ="CreatedByCreateContentType"/>
- <Property name="CreateContentTypeDisplayNameExistContentTypeName" value ="Link"/>
- <Property name="CreateContentTypeParentTypeValid" value ="0x0101"/>
- <Property name="CreateContentTypeParentTypeInvalidContentTypeIdentifier" value ="12312442341244"/>
- <Property name="CreateContentTypeParentTypeUnavailableContentTypeIdentifier" value ="124124124124"/>
- <!--Properties of DeleteContentType Operation-->
- <!--<Property name="DeleteContentTypeContentTypeIdValid" value ="0x010100BB8583615283DF4C993474FD0A4DBB3B"/>-->
- <Property name="DeleteContentTypeContentTypeIdValid.Name" value ="ContentTypeForDelete"/>
- <Property name="DeleteContentTypeContentTypeIdInvalidContentTypeID" value ="1211213212"/>
- <Property name="DeleteContentTypeContentTypeIdContentTypeCanNotFound" value ="45564646545464987"/>
- <Property name="DeleteContentTypeContentTypeIdContentTypeCanNotDeleted" value ="TDI blocked."/>
- <!--Properties of GetContentType Operation-->
- <Property name="GetContentTypeContentTypeIdValid" value ="0x01010045F406D1A3C37F4D92B4133995FB2E42"/>
- <Property name="GetContentTypeContentTypeIdContentTypeHasLocalizations" value =""/>
- <Property name="GetContentTypeContentTypeIdContentTypeHasNotLocalizations" value =""/>
- <Property name="GetContentTypeContentTypeIdContentTypeHasNonEmptyGUIDFeatureID" value =""/>
- <Property name="GetContentTypeContentTypeIdContentTypeHasNotNonEmptyGUIDFeatureID" value =""/>
- <Property name="GetContentTypeContentTypeIdUnavailableContentTypeID" value ="dasfasdfaad"/>
- <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.DocumentTemplate.TargetName" value =""/>
- <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.Name" value ="testContentType"/>
- <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.Group" value ="Custom Content Types"/>
- <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.Description" value ="This string is creat by CreateContentType operation"/>
- <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.NewDocumentControl" value ="FictiveID"/>
- <Property name="CreateContentTypeDisplayNameValid.GetContentTypeResult.ContentType.RequireClientRenderingOnNew" value ="FALSE"/>
- <!--Properties of GetContentTypes Operation-->
- <Property name="GetContentTypesResult.ContentTypes.ContentType.ID" value ="0x01010045F406D1A3C37F4D92B4133995FB2E42"/>
- <Property name="GetContentTypesResult.ContentTypes.ContentType.Name" value ="testContentType"/>
- <Property name="GetContentTypesResult.ContentTypes.ContentType.Description" value ="This string is creat by CreateContentType operation"/>
- <Property name="GetContentTypesResult.ContentTypes.ContentType.Group" value ="Custom Content Types"/>
- <Property name="GetContentTypesResult.ContentTypes.ContentType.NewDocumentControl" value ="FictiveID"/>
- <!--Properties of RevertFileContentStreamFile Operation-->
- <Property name="RevertFileContentStreamFileUrlValid" value ="http://webss2008/TestSubSite/default.aspx"/>
- <Property name="RevertFileContentStreamFileUrlInvalidUrl" value ="dfadsadsfa"/>
- <Property name="RevertFileContentStreamFileUrlInvalidSiteUrl" value ="http://www.sina.com.cn"/>
- <Property name="RevertFileContentStreamFileUrlValidUrlReferToParentSite" value ="http://webss2008/Pages/Default.aspx"/>
- <Property name="RevertFileContentStreamFileUrlUrlNotPartOfSiteDefinition" value ="http://webss2008/Pages/Default.aspx"/>
- <Property name="RevertFileContentStreamFileUrlNotReferToPage" value ="http://webss2008/TestSubSite/notReferToAPage.aspx"/>
- <!--Properties of UpdateContentType Operation-->
- <Property name="UpdateContentTypeContentTypeIdValid" value ="0x0101003136A0B14FD1CE41A4DE538F5CCE78F4"/>
- <Property name="UpdateContentTypeContentTypeIdInvalidContentTypeID" value ="0x32131239801284390238940"/>
- <Property name="UpdateContentTypeContentTypeIdNotOnTheContextSite" value ="0x324r324jl2k3j"/>
- <Property name="UpdateContentTypeContentTypeIdChangeNotAllowedContentTypeID" value ="TDI Blocked"/>
- <Property name="UpdateContentTypeContentTypeProperties.Description" value ="update by yangbao"/>
- <Property name="UpdateContentTypeContentTypeProperties.Group" value ="Custom Content Types"/>
- <Property name="UpdateContentTypeContentTypeProperties.Name" value ="ChangeByUpdateContentType"/>
- <Property name="UpdateContentTypeContentTypeProperties.NewDocumentcontrol" value ="12345"/>
- <Property name="UpdateContentTypeContentTypeProperties.RequireClientRenderingOnNew" value ="FALSE"/>
- <!--NewFields parameter-->
- <Property name="UpdateContentTypeNewFields.Method.Id" value ="Insert0"/>
- <Property name="UpdateContentTypeNewFieldsValidFieldCanBeFound" value ="{246D0907-637C-46b7-9AA0-0BB914DAA832}"/>
- <Property name="UpdateContentTypeNewFieldsFieldCanNotBeFound" value ="{fa564e0f-1234-4ab9-b863-0177e6ddd247}"/>
- <!--UpdateFields parameter-->
- <Property name="UpdateContentTypeUpdateFields.Method.Id" value ="Update0"/>
- <Property name="UpdateContentTypeUpdateFieldsValidFieldCanBeFound" value ="{038D1503-4629-40f6-ADAF-B47D1AB2D4FE}"/>
- <Property name="UpdateContentTypeUpdateFieldsFieldCanNotBeFound" value ="{fa564e0f-1234-4ab9-b863-0177e6ddd247}"/>
- <!--DeleteFields parameter-->
- <Property name="UpdateContentTypeDeleteFields.Method.ID" value ="Delete0"/>
- <Property name="UpdateContentTypeDeleteFieldsValidFieldCanBeFound" value ="{810DBD02-BBF5-4c67-B1CE-5AD7C5A512B2}"/>
- <Property name="UpdateContentTypeDeleteFieldsFieldCanNotBeFound" value ="{fa564e0f-1234-4ab9-b863-0177e6ddd247}"/>
- <!--GetCustomizedPageStatus Parameter-->
- <Property name="GetCustomizedPageStatusFileUrlValid" value ="http://webss2008/TestSubSite/default.aspx"/>
- <Property name="GetCustomizedPageStatusFileUrlInvalid" value ="http://webss2008/TestSubSite/defaulterror.aspx"/>
- <!--RemoveContentTypeXmlDocument Parameter-->
- <Property name="RemoveContentTypeXmlDocumentContentTypeIdOptionValid" value ="0x010100A2E3C117A0C5482FAEE3D57C48CB042F007C873E87D89B004E9FD3E05878B3FF02"/>
- <!--Issue blocked by Sealed Content Type ID-->
- <Property name="RemoveContentTypeXmlDocumentContentTypeIdOptionSealed" value ="0x0101"/>
- <Property name="RemoveContentTypeXmlDocumentContentTypeIdOptionNotFound" value ="45564646545464987"/>
- <Property name ="RemoveContentTypeXmlDocumentDocumentUriOptionValid" value ="http://webss2008/customInfo"/>
- <!--Properties of UpdateContentTypeXmlDocument Operation-->
- <Property name="UpdateContentTypeXmlDocumentContentTypeIdValid" value ="0x010100A2E3C117A0C5482FAEE3D57C48CB042F00A70326D0750CC44797AD2AE5317E53DF"/>
- <!--Issue blocked by Sealed Content Type ID-->
- <Property name="UpdateContentTypeXmlDocumentContentTypeIdSealedContentTypeID" value ="TDI blocked"/>
- <Property name="UpdateContentTypeXmlDocumentContentTypeIdContentTypeIDNotFound" value="45564646545464987"/>
- <Property name="UpdateContentTypeXmlDocumentContentTypeNewDocumentValid" value="<customInfo xmlns="http://webss2008/customInfo">Here is some custom information</customInfo>"/>
- <Property name="UpdateContentTypeXmlDocumentContentTypeNewDocumentMalformedXml" value=""/>
- <!--Properties of CustomizeCss Operation-->
- <Property name="CustomizeCssCssFileExist" value="menu.css"/>
- <Property name="CustomizeCssNoFileNameExtension" value="core"/>
- <Property name="CustomizeCssCssFileNotExist" value="notexist.css"/>
- <Property name="CustomizeCssCssFileContainsAsterisk" value="me*u.css"/>
- <!--Properties of GetActivatedFeatures Operation-->
- <Property name="GetActivatedFeaturesValidServerUrl" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
- <Property name="GetActivatedFeaturesInalidServerUrl" value="http://webss2008/TestSubSite/NotExist/_VTI_BIN/WEBS.ASMX"/>
- <!--Properties of GetColumns Operation-->
- <Property name="GetColumnsValid" value="http://webss2008/TestSubSite/_VTI_BIN/WEBS.ASMX"/>
- <Property name="GetColumnsContainsInvalidAttribute" value="http://webss2008/TestSubSite/ContainsInvalidColumn/_VTI_BIN/WEBS.ASMX"/>
- <!--Properties of GetWeb Operation-->
- <Property name="GetWebValidSite" value="http://webss2008/TestSubSite"/>
- <Property name="GetWebInvalid" value="http://webss2008/TestSubSite/invalid"/>
- <!--Properties of RevertCss Operation-->
- <Property name="RevertCssCssFileExist" value="menu.css"/>
- <Property name="RevertCssNoFileNameExtension" value="core"/>
- <Property name="RevertCssCssFileNotExist" value="notexist.css"/>
- <!--Properties of WebUrlFromPageUrl Operation-->
- <Property name="WebUrlFromPageUrlPageUrl" value="http://webss2008/TestSubSite/default.aspx"/>
- <Property name="WebUrlFromPageUrlWebUrl" value="http://webss2008/TestSubSite"/>
- <!--Properties of UpdateColumns Operation-->
- <Property name="UpdateColumnsNewFieldsInvalidFiedDefinitionSite" value="http://webss2008/TestSubSite/AddInvalidColumn/_VTI_BIN/WEBS.ASMX"/>
- <Property name="UpdateColumnsNewFieldsName" value="NewColumn1"/>
- <Property name="UpdateColumnsNewFieldsType" value="Text"/>
- <Property name="UpdateColumnsNewFieldsExistingName" value="Language"/>
- <Property name="UpdateColumnsUpdateFieldsName" value="UpdateColumn1"/>
- <Property name="UpdateColumnsUpdateFieldsType" value="Text"/>
- <Property name="UpdateColumnsUpdateFieldsNoMatchingName" value="UpdateColumn2"/>
- <Property name="UpdateColumnsDeleteFieldsName" value="DeleteColumn1"/>
- <Property name="UpdateColumnsDeleteFieldsNoMatchingName" value="DeleteColumn2"/>
- <!--Properties of GetAllSubWebCollection Expected Result-->
- <Property name="GetAllSubWebCollection1Title" value="Home"/>
- <Property name="GetAllSubWebCollection1URL" value="http://webss2008"/>
- <Property name="GetAllSubWebCollection2Title" value="Document Center"/>
- <Property name="GetAllSubWebCollection2URL" value="http://webss2008/Docs"/>
- <Property name="GetAllSubWebCollection3Title" value="News"/>
- <Property name="GetAllSubWebCollection3URL" value="http://webss2008/News"/>
- <Property name="GetAllSubWebCollection4Title" value="Reports"/>
- <Property name="GetAllSubWebCollection4URL" value="http://webss2008/Reports"/>
- <Property name="GetAllSubWebCollection5Title" value="Search"/>
- <Property name="GetAllSubWebCollection5URL" value="http://webss2008/SearchCenter"/>
- <Property name="GetAllSubWebCollection6Title" value="Sites"/>
- <Property name="GetAllSubWebCollection6URL" value="http://webss2008/SiteDirectory"/>
- <Property name="GetAllSubWebCollection7Title" value="TestSubSite"/>
- <Property name="GetAllSubWebCollection7URL" value="http://webss2008/TestSubSite"/>
- <Property name="GetAllSubWebCollection8Title" value="AnInvalidColumn"/>
- <Property name="GetAllSubWebCollection8URL" value="http://webss2008/AnInvalidColumn"/>
- <Property name="GetAllSubWebCollection9Title" value="ContainsInvalidColumn "/>
- <Property name="GetAllSubWebCollection9URL" value="http://webss2008/ContainsInvalidColumn "/>
- <!--Properties of GetWebCollection Expected Result-->
- <Property name="GetWebCollection1Title" value="AddInvalidColumn"/>
- <Property name="GetWebCollection1URL" value="http://webss2008/TestSubSite/AddInvalidColumn"/>
- <Property name="GetWebCollection2Title" value="ContainsInvalidColumn "/>
- <Property name="GetWebCollection2URL" value="http://webss2008/TestSubSite/ContainsInvalidColumn "/>
- </Properties>
- <Adapters>
- </Adapters>
- <!-- The default profile name.-->
- <TestLog defaultprofile="Verbose">
- <Sinks>
- </Sinks>
- <Profiles>
- </Profiles>
- </TestLog>
- </TestSite>