c# 怎么将 xml文件转换成txt文件!!!!!

strong_small 2016-10-17 06:44:11
下面是xml的文件,我要获取红色字体的值,请问有什么方法,分不多,见谅




</kw>


-<kw name="Get Text" library="Selenium2Library">

<doc>Returns the text value of element identified by `locator`.</doc>


-<arguments>

<arg>xpath=//*[@id="boot_code_version"]</arg>

</arguments>


-<assign>

<var>${getBootloader Ver}</var>

</assign>

<msg level="INFO" timestamp="20161017 16:59:49.060">${getBootloader Ver} = v0.00.05.0000-OT (Mon Mar 2 17:22:31 2015)</msg>

<status starttime="20161017 16:59:48.998" endtime="20161017 16:59:49.060" status="PASS"/>

</kw>


-<kw name="Get Text" library="Selenium2Library">

<doc>Returns the text value of element identified by `locator`.</doc>


-<arguments>

<arg>xpath=//*[@id="hardware_version"]</arg>

</arguments>


-<assign>

<var>${get HW}</var>

</assign>

<msg level="INFO" timestamp="20161017 16:59:49.107">${get HW} = 01A</msg>

<status starttime="20161017 16:59:49.060" endtime="20161017 16:59:49.107" status="PASS"/>

</kw>


-<kw name="Get Text" library="Selenium2Library">

<doc>Returns the text value of element identified by `locator`.</doc>


-<arguments>

<arg>xpath=//*[@id="serial_number"]</arg>

</arguments>


-<assign>

<var>${get SN}</var>

</assign>

<msg level="INFO" timestamp="20161017 16:59:49.170">${get SN} = J639109543</msg>

<status starttime="20161017 16:59:49.107" endtime="20161017 16:59:49.170" status="PASS"/>

</kw>


-<kw name="Get Text" library="Selenium2Library">

<doc>Returns the text value of element identified by `locator`.</doc>


-<arguments>

<arg>xpath=//*[@id="lan_mac_addr"]</arg>

</arguments>


-<assign>

<var>${get Lan MAC}</var>

</assign>

<msg level="INFO" timestamp="20161017 16:59:49.232">${get Lan MAC} = E4:3E:D7:8D:63:CE</msg>

<status starttime="20161017 16:59:49.170" endtime="20161017 16:59:49.232" status="PASS"/>

</kw>


-<kw name="Get Text" library="Selenium2Library">

<doc>Returns the text value of element identified by `locator`.</doc>


-<arguments>

<arg>xpath=//*[@id="wan_mac_addr"]</arg>

</arguments>


-<assign>

<var>${get WAN MAC}</var>

</assign>

<msg level="INFO" timestamp="20161017 16:59:49.279">${get WAN MAC} = E4:3E:D7:8D:63:CE</msg>

<status starttime="20161017 16:59:49.232" endtime="20161017 16:59:49.279" status="PASS"/>

</kw>


-<kw name="Get Text" library="Selenium2Library">

<doc>Returns the text value of element identified by `locator`.</doc>


-<arguments>

<arg>xpath=//*[@id="wlan_mac_addr"]</arg>

</arguments>


-<assign>

<var>${get 2.4G MAC}</var>

</assign>

<msg level="INFO" timestamp="20161017 16:59:49.341">${get 2.4G MAC} = E4:3E:D7:8D:63:CF</msg>

<status starttime="20161017 16:59:49.294" endtime="20161017 16:59:49.341" status="PASS"/>

</kw>


-<kw name="Unselect Frame" library="Selenium2Library">

<doc>Sets the top frame as the current frame.</doc>

<status starttime="20161017 16:59:49.341" endtime="20161017 16:59:49.341" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${2.4G SSID}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.341">EE-BrightBox-s294nq</msg>

<status starttime="20161017 16:59:49.341" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${2.4G psw}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.357">lid-amble-able</msg>

<status starttime="20161017 16:59:49.357" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${getBootloader Ver}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.357">v0.00.05.0000-OT (Mon Mar 2 17:22:31 2015)</msg>

<status starttime="20161017 16:59:49.357" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${get HW}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.357">01A</msg>

<status starttime="20161017 16:59:49.357" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${get SN}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.357">J639109543</msg>

<status starttime="20161017 16:59:49.357" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${get Lan MAC}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.357">E4:3E:D7:8D:63:CE</msg>

<status starttime="20161017 16:59:49.357" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${get WAN MAC}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.357">E4:3E:D7:8D:63:CE</msg>

<status starttime="20161017 16:59:49.357" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>


-<kw name="Log" library="BuiltIn">

<doc>Logs the given message with the given level.</doc>


-<arguments>

<arg>${get 2.4G MAC}</arg>

</arguments>

<msg level="INFO" timestamp="20161017 16:59:49.357">E4:3E:D7:8D:63:CF</msg>

<status starttime="20161017 16:59:49.357" endtime="20161017 16:59:49.357" status="PASS"/>

</kw>

<status starttime="20161017 16:59:28.879" endtime="20161017 16:59:49.357" status="PASS" critical="yes"/>

</test>

<status starttime="20161017 16:59:28.677" endtime="20161017 16:59:49.372" status="PASS"/>

</suite>

<status starttime="20161017 16:59:28.630" endtime="20161017 16:59:49.372" status="PASS"/>

</suite>
...全文
547 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
strong_small 2016-10-18
  • 打赏
  • 举报
回复
引用 8楼娃都会打酱油了 的回复:
就以你kw为整个xml做例子
            string xml = @"<kw name=""Get Text"" library=""Selenium2Library"">
<doc>Returns the text value of element identified by `locator`.</doc>
<arguments>
<arg>xpath=//*[@id=""tb_wlan_status""]/tbody/tr[2]/td[2]</arg>
</arguments>
<assign>
<var>${2.4G psw}</var>
</assign>
<msg level=""INFO"" timestamp=""20161018 08:05:24.179"">${2.4G psw} = lidambleable</msg>
<status starttime=""20161018 08:05:24.122"" endtime=""20161018 08:05:24.179"" status=""PASS""/>
</kw>";
            XElement root = XElement.Parse(xml);
            Console.WriteLine(root.Element("msg").Value);
这样可以取到${2.4G psw} = lidambleable这段内容,取完后Split('=')不就可以取到后面的值了
能不能加个qq 2450556982
  • 打赏
  • 举报
回复
就以你kw为整个xml做例子
            string xml = @"<kw name=""Get Text"" library=""Selenium2Library"">
<doc>Returns the text value of element identified by `locator`.</doc>
<arguments>
<arg>xpath=//*[@id=""tb_wlan_status""]/tbody/tr[2]/td[2]</arg>
</arguments>
<assign>
<var>${2.4G psw}</var>
</assign>
<msg level=""INFO"" timestamp=""20161018 08:05:24.179"">${2.4G psw} = lidambleable</msg>
<status starttime=""20161018 08:05:24.122"" endtime=""20161018 08:05:24.179"" status=""PASS""/>
</kw>";
            XElement root = XElement.Parse(xml);
            Console.WriteLine(root.Element("msg").Value);
这样可以取到${2.4G psw} = lidambleable这段内容,取完后Split('=')不就可以取到后面的值了
蝶恋花雨 2016-10-18
  • 打赏
  • 举报
回复
引用 6 楼 strong_small 的回复:
我现在会读取<var>${2.4G psw}</var>这里面的值,可是我要的是${2.4G psw} = lid-amble-able这个=后面的值,怎么弄??
读取出来后 ${2.4G psw} = lid-amble-able.split('=')[1] 拆分下
strong_small 2016-10-18
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
linq2xml读取就行了 XElement.Parse(xml).Elements("xxx") 类似这种写法可以获取 对于你后面的txt没看懂
</kw> -<kw name="Get Text" library="Selenium2Library"> <doc>Returns the text value of element identified by `locator`.</doc> -<arguments> <arg>xpath=//*[@id="tb_wlan_status"]/tbody/tr[2]/td[2]</arg> </arguments> -<assign> <var>${2.4G psw}</var> </assign> <msg level="INFO" timestamp="20161018 08:05:24.179">${2.4G psw} = lid-amble-able</msg> <status starttime="20161018 08:05:24.122" endtime="20161018 08:05:24.179" status="PASS"/> </kw> 我现在会读取<var>${2.4G psw}</var>这里面的值,可是我要的是${2.4G psw} = lid-amble-able这个=后面的值,怎么弄??
EnForGrass 2016-10-18
  • 打赏
  • 举报
回复
strong_small 2016-10-18
  • 打赏
  • 举报
回复
引用 1 楼 kongwei521 的回复:
读取XML解析 获取到节点 然后再保存到txt里面 linq to xml 或者用xmldocument 来的得到值 var query = from item in xDoc.Element( "kw").Elements() select new { arg= item .Element("arg").Value, }; foreach (var item in query) {//取得处理}
</kw> -<kw name="Get Text" library="Selenium2Library"> <doc>Returns the text value of element identified by `locator`.</doc> -<arguments> <arg>xpath=//*[@id="tb_wlan_status"]/tbody/tr[2]/td[2]</arg> </arguments> -<assign> <var>${2.4G psw}</var> </assign> <msg level="INFO" timestamp="20161018 08:05:24.179">${2.4G psw} = lid-amble-able</msg> <status starttime="20161018 08:05:24.122" endtime="20161018 08:05:24.179" status="PASS"/> </kw> 我要截取的是${2.4G psw} = lid-amble-able这些,怎么弄啊 ,没有具体的属性啊
  • 打赏
  • 举报
回复
linq2xml读取就行了 XElement.Parse(xml).Elements("xxx") 类似这种写法可以获取 对于你后面的txt没看懂
Justin-Liu 2016-10-18
  • 打赏
  • 举报
回复
用XML相关的对象去获取 XmlDocument 用xpath查询
strong_small 2016-10-18
  • 打赏
  • 举报
回复
读取出来后 ${2.4G psw} = lid-amble-able.split('=')[1] 拆分下[/quote] 这一段是可以截取成功的,可是我的xml放在c盘,我先要打开xml文件,然后再进行其他操作,可是用上面说的方法是行不通的。。。求教啊。。。如果有空加下我QQ 2450556982 ,我把整个xml文件给你,帮我看在怎么去截取!!!
蝶恋花雨 2016-10-17
  • 打赏
  • 举报
回复
读取XML解析 获取到节点 然后再保存到txt里面 linq to xml 或者用xmldocument 来的得到值 var query = from item in xDoc.Element( "kw").Elements() select new { arg= item .Element("arg").Value, }; foreach (var item in query) {//取得处理}

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧