除了我爲工作編寫的自動化外,我從來沒有真的需要使用XML
。也許我一直在做錯,或者我剛剛......幸運?XML解析和自動化
話雖這麼說,我有一些麻煩與解析XML
文件。 XML
的結構如下所示:
// I have removed the username and passwords as they are sensitive
<?xml version="1.0" encoding="UTF-8"?>
<Logins>
<Login>
<Username>xxx</Username>
<Password>xxx</Password>
</Login>
...
</Logins>
夠簡單。我需要做的是從每個節點中提取用戶名和密碼,並將它們分成兩個單獨的變量。之後,我有一些自動化代碼可以找到3個元素(用戶名,密碼,提交按鈕),並與它們進行交互以便登錄。然後我執行冒煙測試以檢查圖像並關閉瀏覽器。該代碼是在這裏:
chromeDriver.FindElement(By.Id(@"userNameInput")).SendKeys(userName.ToString());
chromeDriver.FindElement(By.Id(@"passwordInput")).SendKeys(passWord.ToString());
chromeDriver.FindElement(By.Id(@"submitButton")).Click();
Thread.Sleep(10);
bool isVisible = chromeDriver.FindElement(By.Id(@"logoImage")).Displayed;
正如你可能能夠確定,我需要使用變量,userName
和passWord
。我都試過了,沒有用,(其他的嘗試中)的代碼是在這裏:
XDocument rootElement = XDocument.Load(@"C:\Test Data.xml");
IEnumerable<string> textSegment =
from segment in rootElement.Descendants("Username")
select (string)segment;
var userName = textSegment;
我得到的輸出是這樣的:
System.Linq.Enumerable + WhereSelectEnumerableIterator`2 [系統.Xml.Linq.XElement,System.String]
這是正在寫/發送到用戶名字段的文字輸出,我完全不知道我在做什麼錯誤在這一點上。我知道我在解析XML
時做錯了什麼。
是否** var userName = textSegment.ToList()**獲取所需內容? –