我不知道在哪里搜索解决方案。
我有一个包含标签"< p >"
和“&lt; / p&gt;”的字符串,以及“&lt; h1&gt;”和“&lt; / h1&gt;”对于标题,以及“&lt; a&gt;&lt; / a&gt;”链接。该字符串通过app.current传递到第二页,当我将其设置为文本块的源时,我看到了整个字符串。
现在我的问题: 我想在每个“&lt; p&gt;”上创建一个新的TextBlock,其中包含直到“&lt; / p&gt;”的文本。标题相同,因为我想以不同的方式设置它们。我希望在列表中看到的链接。
我尝试了几件事,但没有找到合适的解决方案。我的最后一次尝试是使用这个http://www.eugenedotnet.com/2011/04/binding-text-containing-tags-to-textblock-inlines-using-attached-property-in-silverlight-for-windows-phone-7/。我无法根据自己的需要改变这一点。
我想从我的字符串创建子字符串,并为每个子字符串创建一个带有/或新TextBlock的新运行。没搞清楚。
我真的没有任何想法。任何人都有任何想法?
答案 0 :(得分:1)
我建议使用HtmlAgilityPack
来解析HTML。
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(yourString);
string header = doc.DocumentNode.SelectSingleNode("h1").InnerText;
List<string> paragraphs = doc.DocumentNode.SelectNodes("p")
.Select(p => p.InnerText).ToList();
获取WP7的HtmlAgilityPack的最简单方法是安装NuGet,右键单击References
并选择“管理NuGet包”,然后搜索“{1}}的”在线“。
答案 1 :(得分:0)
为了稍微扩展Richard Szalay的答案,NuGet上的HTML Agility Pack版本似乎不包括已添加的WP7特定实现。在this question中有对HAPPhone版本的引用,可以从HTML AGility Pack project page下载,并且在手机上运行良好。
不幸的是,您必须下载源并自行构建/手动添加引用。我想NuGet版本会及时更新,但是当我上周这样做时,这是唯一的方法。