我有一个 xml,如下所示:
\n\n<bookstores>\n <bookstore>\n <book id="1">\n <author>ABC</author> \n </book>\n <book id="2">\n <title>YYY</title> \n </book>\n </bookstore>\n <bookstore>\n <book id="3">\n <author>ABC</author> \n </book>\n <book id="4">\n <author>DEF</author> \n </book>\n </bookstore>\n <bookstore>\n <book id="5">\n <price>50</price>\n </book>\n <book id="6">\n <title>ZZZ</title> \n </book>\n </bookstore>\n</bookstores>\nRun Code Online (Sandbox Code Playgroud)\n\n我想选择“book”节点的子节点的第一次出现,或者换句话说,选择“book”节点的所有唯一子节点。
\n\n所以输出应该是这样的:
\n\nauthor\ntitle\nprice\nRun Code Online (Sandbox Code Playgroud)\n\n我写了一个xslt:
\n\n<xsl:for-each select="bookstores/bookstore/book"> \n <xsl:if test="count(preceding-sibling::*[1]) = 0">\n <xsl:value-of select="local-name(*[1])"/>\n </xsl:if>\n</xsl\xef\xbc\x9afor-each>\nRun Code Online (Sandbox Code Playgroud)\n\n它没有给我带来任何回报...任何人都可以给我一些帮助吗?谢谢!!
\n\n更新:
\n\n如果我的 xml 中有多个“bookstores”元素,并且我只想限制每个“bookstores”上下文中的唯一性,以便即使“author”也出现在一个“bookstores”中,该怎么办,如果出现在其他“书店”中还能显示吗?
\n我想将HTML实体转换回人类可读格式,例如'£''£','°''°'等.
我已经阅读了几个关于这个问题的帖子
在Python中将XML/HTML实体转换为Unicode字符串
根据他们的说法,我选择使用未记录的函数unescape(),但它对我不起作用...
我的代码示例如下:
import HTMLParser
htmlParser = HTMLParser.HTMLParser()
decoded = htmlParser.unescape('© 2013')
print decoded
Run Code Online (Sandbox Code Playgroud)
当我运行这个python脚本时,输出仍然是:
© 2013
Run Code Online (Sandbox Code Playgroud)
代替
© 2013
Run Code Online (Sandbox Code Playgroud)
我正在使用Python 2.X,在Windows 7和Cygwin控制台上工作.我用谷歌搜索,没有发现任何类似的问题.有人可以帮我这个吗?
我有一个HashMap,其键是id,其值是文本:
HashMap<String,String> textMap = new HashMap<String,String>();
textMap.put("id_1","She");
textMap.put("id_2","has");
textMap.put("id_3","a");
textMap.put("id_4","neck");
textMap.put("id_5","pain");
//.. more elements in textMap
Run Code Online (Sandbox Code Playgroud)
我想找到一个短语的相关id,比如'颈部疼痛',所以在这种情况下,结果应该是id_4和id_5.
任何人都可以建议一个有效的算法来匹配短语与ids?
对不起,我忘了包含一个重要的条件.我有短语和单词的偏移量,比如"start_5_end_14",这意味着5应该是"颈部"的开始,因为"她"的开头为0.但是,使情况复杂化的是偏移可能不正确.