精华内容
下载资源
问答
  • 一个是xml标签内容里面还有标签,例如:<book>我有<strong>2</strong>本书。 一个是内容里面有特殊字符,譬如:<contents>这本书主要说:冒险、励志。&...

    昨天弄的xml除了dtd的问题之后,还有两个问题,

    一个是xml标签的内容里面还有标签,例如:<book>我有<strong>2</strong>本书。

    一个是内容里面有特殊字符,譬如:<contents>这本书主要说:冒险、励志。</contents>

    这两种情况存在的前提下,我要是用来作为文件名称生成文件时必然报错,所以先要料理掉这两个畔脚石。

     

    1、去除xml标签内容中的标签,值提取内容:

    参考这个链接就OK啦:http://blog.csdn.net/lxqssx/article/details/4075087

    String docExplainStr = docExplain.replaceAll("<{1}[^<>]*>{1}","");
    String docExplainStr = docExplain.replaceAll("<.*?>", "");

     两个我都试过,都挺好的。

     

    2、特殊字符处理:

    /**
     * 转义正则特殊字符 ($()*+.[]?\^{},|/\:?"<>)
     * @param keyword
     * @return
     */
    public String escapeExprSpecialWord(String keyword) {
    	String[] fbsArr = {"/","\\",":","*","?","\"","<",">","|", "(", ")","+", "[", "]", "^", "{", "}","、"};
    	for (String key : fbsArr) {
    		if (keyword.contains(key)) {
    			keyword = keyword.replace(key,"");
    		}
    	}
    	return keyword;
    }

     参考链接:http://blog.csdn.net/bbirdsky/article/details/45368709

    我这个参考上面那个改的,就是根据需要多加了类型。

    展开全文
  • python xml提取多重标签内容

    千次阅读 2018-01-06 15:57:12
    最近用xml.etree.ElementTree包做了一个药物重定位的xml文件提取,这种xml文件不同于一般的xml文件,各级标签不同于ElementTree官方文档https://docs.python.org/2/library/xml.etree.elementtree.html所给

    所用文件地址:链接: https://pan.baidu.com/s/1slqQRvv 密码: 3ce1

    最近用xml.etree.ElementTree包做了一个药物重定位的xml文件提取,这种xml文件不同于一般的xml文件,各级标签不同于ElementTree官方文档https://docs.python.org/2/library/xml.etree.elementtree.html所给出的类型,所以提取的关键在于标签指定是否正确。废话少说,直接上代码:

    #coding=utf-8
    from xml.etree import ElementTree as ET
    
    f = open('Drug_info.txt','w')#保存路径
    per=ET.parse('test2.xml')#打开xml文件
    p=per.findall('./')#得到所有的drug标签
    
    for drug in p:#遍历每个drug
        print('=====name=====')#这个后期可以删除,这里是方便你看输出
        name = drug.find('{http://www.drugbank.ca}name').text#得到drug标签下的name标签中的内容,但一定要加{http://www.drugbank.ca},它这个XML文件就这么恶心,这个是最大的坑,今天遍历子节点才发现这个问题
        print('Drug_name:'+name)
        f.writelines(name)#写drugName
    
        print('=====targets_name======')
        for target in drug.iter('{http://www.drugbank.ca}target'):#遍历drug下的target标签中的name
            name = target.find('{http://www.drugbank.ca}name').text#使用find是找出第一个targetName就停止
            print('Targets_name:'+name)
            f.writelines(','+name)#写targetName
    
        print('=====SMILES=====')
        for CP in drug.iter('{http://www.drugbank.ca}calculated-properties'):#SMILES只存在于calculated-properties中,所以在calculated-properties中提取就可以了
            PROPERTY = CP.findall('{http://www.drugbank.ca}property')#再提calculated-properties标签中的property标签,因为kind,value都在property下
            index = []#建立两个空list,index是存储kind标签中的值,VALUE是存储value标签中的值,建立一一对应关系
            VALUE = []
            for ele in PROPERTY:
                kind = ele.find('{http://www.drugbank.ca}kind').text#得到kind的内容
                value = ele.find('{http://www.drugbank.ca}value').text#得到value的内容
                index.append(kind)#index中添加kind标签中的内容
                VALUE.append(value)#VALUE中添加value标签中的内容
            for idx in index:#遍历index列表
                if idx=='SMILES':#找到‘SMILES'所在index列表中的位置
                    no = index.index(idx)#找到‘SMILES'所在index列表中的位置
                    Molecular_formula = VALUE[no]#应为index和VALUE是一一对应关系,只要找到’SMILES‘在index中的位置也就知道分子式在VALUE中的位置
                    print('分子式:'+Molecular_formula)
                    f.writelines('#'+Molecular_formula)#写入分子式
                    break#一个drug只有一个SMILES,所以找到SMILES直接中断,不必再循环下去,节省计算消耗
        f.writelines('\n')#每个药物获取所有信息结束后要加一个回车“\n”
    f.close()#最后关闭文件
    
    
    
    如果你的xml文件就是官方文档的类型,可以直接参考官方文档给的例子,地址再附一遍:https://docs.python.org/2/library/xml.etree.elementtree.html

    展开全文
  • python解析XML提取标签内容

    万次阅读 2018-10-25 10:37:49
    import xml.dom.minidom as xmldom import os xml_filepath = os.path.abspath("./originalData/train.xml") # xml_filepath=os.path.abspath("V5-13.xml") # 得到文件对象 dom_obj = xmldom....
    import xml.dom.minidom as xmldom
    import os
    
    xml_filepath = os.path.abspath("./originalData/train.xml")
    # xml_filepath=os.path.abspath("V5-13.xml")
    # 得到文件对象
    dom_obj = xmldom.parse(xml_filepath)
    
    # 得到元素对象
    element_obj = dom_obj.documentElement
    
    # 获得子标签
    
    sub_element_obj = element_obj.getElementsByTagName("weibo")
    
    for i in range(len(sub_element_obj)):
        if sub_element_obj[i].getAttribute("emotion-type1") != "none":
            sub_element_obj1 = sub_element_obj[i].getElementsByTagName("sentence")
            for j in range(len(sub_element_obj1)):
                if sub_element_obj1[j].getAttribute("opinionated") == "Y":
                    print(sub_element_obj1[j].getAttribute("emotion-1-type"), end='\t')
                    print(sub_element_obj1[j].firstChild.data, end='')
                    print()
    
    
    

    所对应的XML格式

    <weibo id="1" emotion-type="none">
        <sentence id="1" emotion_tag="N">三八节下午路过中牟县~见到很多美女~手执鲜花[鲜花]~一打听~这里不仅美女如云~而且是千古笫一帅哥潘安的故里。。。</sentence>
        <sentence id="2" emotion_tag="N">[给力][萌]</sentence>
      </weibo>
      <weibo id="2" emotion-type="sadness">
        <sentence id="1" emotion_tag="Y" emotion-1-type="like" emotion-2-type="none">源海都学愤怒鸟的声音,好像好厉害…</sentence>
        <sentence id="2" emotion_tag="Y" emotion-1-type="sadness" emotion-2-type="none">还比愤怒鸟射击的动作,我为啥一千啊现在…</sentence>
        <sentence id="3" emotion_tag="Y" emotion-1-type="sadness" emotion-2-type="anger">海赫还悄悄话了刚才,怎么不是我四千二的时候啊哈哈,悲愤!</sentence>
      </weibo>

     

    展开全文
  • XML标签

    2017-03-16 18:50:07
    XML标签 语法: 标签体内容 开始标签 标签体内容 结束标签 1) 或 空标签。没有标签体内容 2)xml标签名称区分大小写。 3)xml标签一定要正确配对。 4)xml标签名开头或者中间不能使用空格 5)xml...

    XML标签

    语法: <student> 标签体内容 </student>  开始标签  标签体内容  结束标签

    1)<student/> 或 <student></student> 空标签。没有标签体内容

    2)xml标签名称区分大小写。

    3)xml标签一定要正确配对。

    4)xml标签名开头或者中间不能使用空格

    5)xml标签名不能以数字开头

    6)注意: 在一个xml文档中,有且仅有一个根标签


    XML属性
    语法:<Student name="eric">student</Student>
    注意:    
         1)属性值必须以引号包含,不能省略,也不能单双引号混用!!!

    2)一个标签内可以有多个属性,但不能出现重复的属性名!!!


    XML注释
    语法:<!--   xml注释   -->

    文档声明
    语法:<?xml version="1.0" encoding="码表"?>
             version: xml的版本号

            encoding:解析xml文件时查询的码表(解码过程时查询的码表)

    注意:

            1)如果在ecplise工具中开发xml文件,保存xml文件时自动按照文档声明的encoding来保存文件。

            2)如果用记事本工具手动修改xml文件,注意保存xml文件按照文档声明的encoding的码表来保存。    


    XML中文乱码问题 


    转义字符

           在xml中内置了一些特殊字符,这些特殊字符不能直接被浏览器原样输出。如果希望把这些特殊字符按照原样输出到浏览器,对这些特殊字符进行转义。转义之后的字符就叫转义字节。

     

    特殊字符  转义字符

       <              &lt;

       >              &gt;

       "               &quot;

       &              &amp;

       空格         &nsbp;


    CDATA块

          作用:可以让一些需要进行包含特殊字符的内容统一进行原样输出。


    处理指令

          处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。

    作用: 告诉xml解析如果解析xml文档                           

    案例:

          <?xml-stylesheet type="text/css" href="1.css"?> 告诉xml解析该xml文档引用了哪个css文件,需要提取xml内容可以使用xml-stylesheet处理指令    


    书写

     


    Demo:

    xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/css" href="contact.css"?>
    <contactList>
        <contact id="001">
            <name>木丁西</name>
            <age>18</age>
            <phone>18071897425</phone>
            <email>1012421396@qq.com</email>
            <qq>1012421396</qq>
        </contact>
        <contact id="002"><!--CDATA块-->
            <![CDATA[<html><head></head><body></body></html>]]>
        </contact>
        <contact id="003">
            <name><p>刘先森</p></name><!--转义字符-->
            <age>20</age>
            <phone>18771897466</phone>
            <email>561242139@qq.com</email>
            <qq>561242139</qq>
        </contact>
    </contactList>

    css文件

       
    1. contact{
    2. color:red;
    3. width: 150px;
    4. height:150px;
    5. font-size:20px;
    6. display:block;
    7. margin-top:120px;
    8. background-color:green;
    9. }
     
    展开全文
  • 主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
  • XML提取相应的标签

    千次阅读 2018-04-20 11:11:06
    之前写了从json中提取相应的标签值,这次是从xml提取相应的标签值/// &lt;summary&gt; /// 从XML提取相应的标签值 /// &lt;/summary&gt; /// &lt;param name="tag"&gt;&...
  • 从多个XML文件中提取XML元素
  • xml文件内容编辑及提取

    千次阅读 2017-07-18 10:29:40
    a.xml 内容如下 name1 2 1.建立:1.1 c++方法  int myGenXml() { FILE *fp; char fname[100]; strcpy(fname, "a.xml"); fp = fopen(fname, "w+"); fprintf(fp, "\n%s", ""); fprintf(fp, "\n%s",
  • import xml.etree.ElementTree as ET from decimal import Decimal dirpath = 'F:\\NJtech2\\robomaster\\DJI\\robomasterFinalTournament\\image_annotation' # 原来存放xml文件的目录 newdir = 'F:\\NJtech2\\...
  • 我想提取XML文件内 X市下所有LTE类型 “PhoneInfo“和”NetInof“ 且“VideoTotleTraffic”>1000的数据。麻烦大神帮忙看下要怎么写脚本。 XML文件内容如下: ``` <?xml version="1.0" encoding="UTF-8"?> ...
  • 公开数据集VOC里面有20类,若小伙伴需要提取特定的类别供深度学习训练的话,可以参考博主的这篇博客,如有不正,欢迎指出。 注意:此python程序经测试VOC2007有效,其他年份的数据只需对程序稍作修改即可
  • 为了让XML文档能够被应用程序识别和处理,必须提供一个读取XML文档的途径。当然,你也许会说,XML不就是文本文件吗?我用java.io包不就可以读取了?XML文件并非简单的plain text,它有自己的结构和描述性,我们需要...
  • 利用nodejs实现将指定目录下的以及嵌套目录下的所有xml文件去除标签并转为txt文件
  • java通过正则表达式提取XML节点内容

    万次阅读 2015-04-09 21:18:00
    现在有类似abc3232 只要内容这么一个串,需要提取abc,3232,只要内容的节点内容 public static List getContext(String html) { List resultList = new ArrayList(); Pattern p = Pattern.compile(">([^]+));//...
  • python3 提取xml文件中指定标签的属性

    千次阅读 2019-11-07 19:29:26
    试了网上另一种方法,不知大为啥就是找不到输入的标签,不过下面这种方法,只要路径不错,肯定可以找到 首先,xml文件是这个样子的: 我打算提取,begin , end , nVeehseen的值, 对应的提取代码是这样子的 ...
  • Python对XML文件标签内容的匹配

    千次阅读 2016-09-22 15:10:47
    但是这个包严格限制XML文件格式,XML中若含有一些未知的标签如,无法进行解析 Offa was frequently in conflict with the various Welsh kingdoms. There was a battle between the Mercians and the Wels
  • xml文件去掉所有标签只保留内容部分
  • 我写的:从xml文件里面提取标注框,将原图中包含标注框在内的图像区域随机扩大,并resize到需要训练的size(目前效果不好,后面心情好了再改,下面会放代码) # -*- coding: utf-8 -*- import xml.etree....
  • #存放包含需要的类的图片对应的xml文件 saveDir_ann = r'/home/somnus/tttt/VOC2012/Annotations_ssd/' if not os.path.exists(saveDir_ann): os.mkdir(saveDir_ann) fp = open(fileDir_ann + file) ...
  • 去除xml标签,抽取文本内容

    千次阅读 2009-04-15 10:52:00
    1:String docExplainStr = docExplain.replaceAll("]*>{1}",""); 2: String docExplainStr = docExplain.replaceAll("", "");
  • java读取xml指定标签内容

    千次阅读 2018-05-16 17:33:07
    // 读取指定标签    Iterator eleit = doc.getRootElement().elementIterator( "user" );     ArrayList newlist =  new  ArrayList();  // 创建新集合     while  (eleit.hasNext()) {     ...
  • xml文档中自定义标签中的内容取出,先获取xml文档,然后通过while循环(循环条件是不能到达文档结尾)对xml进行遍历,在遍历时,先判断是否为指定的开始标记,如果是则获取个属性,否则遍历下一个标记,一直遍历到...
  • Python3提取xml文件中的内容

    千次阅读 2018-09-28 23:17:58
    import xml.dom.minidom def find_child(Par_nodes, mystr): for child_node in Par_nodes: if(len(child_node.childNodes) &amp;gt; 0): mystr = find_child(child_node.childNodes, mystr) ...
  • osm_cut:创建矩形提取物tr_view:用于trafalgar文件的查看工具,包括快速osmtoolz导入过滤器,GPX和KML轨道导入(请参见屏幕截图)。其中包含一个小脚本,该脚本有助于使用命名管道将* .bz2转换为* .gz (似乎不...
  • // 截取<ErrorDesc> </ErrorDesc> 标签中的内容 String xml = "ErrorDesc" ; context = regexLabel ( inXml , "ErrorDesc" ) ; System . out . println ( context ) ; } // 截取内容的函数 ...
  • xml解析(获取xml标签里面属性值)

    千次阅读 2019-08-22 14:18:12
    xml格式,解析xml里面 <WriteBack sheet="Sheet1" name="单位信息" table="TAB.FXCJG.null.cus_contact01"> 取出表名:cus_contact01 <?xml version="1.0" encoding="utf-8"?> <Report> <...
  • 直接看代码 #author: selfimpr #blog: http://blog.csdn.net/lgg201 #mail: lgg860911@yahoo.com.cn $pattern = / 开始标签 (?P(?>\w+)) #标签名 (?P #单个属性子组 (?>\s+)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,597
精华内容 20,238
关键字:

xml标签内容提取