【发布时间】:2013-11-27 07:54:01
【问题描述】:
我有以下 xml。
string xmlstring= <z:row ows_Article_x0020_Tags='14;#cricket;#21;#Headlines;#19;#Videos' ows__ModerationStatus='0' ows__Level='1' ows_Last_x0020_Modified='9;#2013-11-26 01:33:01' ows_ID='9' ows_UniqueId='9;#{FEA534D1-F63B-464D-97DE- AC60798B72D6}' ows_owshiddenversion='9' ows_FSObjType='9;#0' ows_Created_x0020_Date='9;#2013-11-24 22:59:53' ows_ProgId='9;#' ows_FileLeafRef='9;#Pablo-Ferrero.aspx' ows_PermMask='0x7fffffffffffffff' ows_Modified='2013-11-26 01:33:01' ows_FileRef='9;#sites/Gaslines/NewsAndEvents/Pages/Pablo-Ferrero.aspx' ows_DocIcon='aspx' ows_Editor='24;#Harshini P Hegde' />\r\n
<z:row ows_Article_x0020_Tags='20;#Charity;#14;#cricket' ows__ModerationStatus='0' ows__Level='1' ows_Last_x0020_Modified='10;#2013-11-26 01:30:11' ows_ID='10' ows_UniqueId='10;#{C8D042AE-466F-44E8-940B- 0C9A64130923}' ows_owshiddenversion='8' ows_FSObjType='10;#0' ows_Created_x0020_Date='10;#2013-11-24 23:01:50' ows_ProgId='10;#' ows_FileLeafRef='10;#Debra-L-Reed.aspx' ows_PermMask='0x7fffffffffffffff' ows_Modified='2013-11- 26 01:3:10' ows_FileRef='10;#sites/Gaslines/NewsAndEvents/Pages/Debra-L-Reed.aspx' ows_DocIcon='aspx' ows_Editor='24;#Harshini P Hegde' />\r\n
<z:row ows_Article_x0020_Tags='' ows__ModerationStatus='3' ows__Level='255' ows_Last_x0020_Modified='13;#2013-11-26 01:45:12' ows_ID='13' ows_UniqueId='13;#{81236BD1-AF3B-4D97-BA14-5492F8013251}' ows_owshiddenversion='5' ows_FSObjType='13;#0' ows_Created_x0020_Date='13;#2013-11-26 01:28:45' ows_ProgId='13;#' ows_FileLeafRef='13;#TestTagCloudPage.aspx' ows_PermMask='0x7fffffffffffffff' ows_Modified='2013-11-26 01:45:13' ows_CheckoutUser='24;#Harshini P Hegde' ows_FileRef='13;#sites/Gaslines/NewsAndEvents/Pages/TestTagCloudPage.aspx' ows_DocIcon='aspx' ows_Editor='24;#Harshini P Hegde' />\r\n</rs:data>\r\n</xml>"
上面的xml在stringxml之前还有下面的
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'\r\n xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'\r\n xmlns:rs='urn:schemas-microsoft-com:rowset'\r\n xmlns:z='#RowsetSchema'>\r\n
<s:Schema id='RowsetSchema'>\r\n
<s:ElementType name='row' content='eltOnly' rs:CommandTimeout='30'>\r\n
<s:AttributeType name='ows_Article_x0020_Tags' rs:name='Article Tags' rs:number='1'>\r\n
我需要得到输出
string result= 14;#cricket;#21;#Headlines;#19;#Videos;20;#Charity;#14;#cricket
即我需要介于
之间的 txt`<z:row ows_Article_x0020_Tags=" and " ows__ModerationStatus=`
我尝试使用 linq 。我做不到。所以我想用正则表达式来做。除了使用正则表达式的结果之外,是否可以删除字符串中的所有其他内容?
【问题讨论】:
-
我认为正则表达式不是解析 xml 的最佳方式。你有所有的 xml 数据,还是只有这三行?您缺少一些开始标签和命名空间定义
-
这不是整个 xml。我现在将它们添加。
-
这仍然是无效的 xml,甚至没有行标签
-
整个 xml 太大,无法在此处发布。我在这里添加可以吗?
-
我已经用你的 xml 命名空间更新了我的答案,所以现在这两个选项都可以使用 - 无论是使用 HtmlAgilityPack 还是使用 LINQ to XML(我推荐这个选项)