精华内容
下载资源
问答
  • XML格式

    千次阅读 2011-07-05 14:56:49
    我曾经使用过一个颇受欢迎的 XML 命令行工具,因为我注意到它有一个选项可以把目录内容列表保存为 XML 文档。我好奇地试了试。看到的结果如清单 1 所示。 清单 1. 原来的格式 <d p="rwxrwxrwx" a="2005.07.

    我曾经使用过一个颇受欢迎的 XML 命令行工具,因为我注意到它有一个选项可以把目录内容列表保存为 XML 文档。我好奇地试了试。看到的结果如清单 1 所示。


    清单 1. 原来的格式
            
    <xml>
    <d p="rwxrwxrwx" a="2005.07.26 15:23:13" 
        m="2005.07.26 15:21:23" s="170" n="."/>
    <d p="rwxrwxrwx" a="2005.07.26 15:21:30" 
        m="2005.06.10 13:49:59" s="2448" n=".."/>
    <f p="rw-r--r--" a="2005.07.26 15:20:46" 
        m="2005.06.07 14:00:55" s="6148" n=".DS_Store"/>
    <f p="rw-r--r--" a="2005.07.26 15:21:30" 
        m="2005.07.26 15:21:24" s="800" n="canonthunderbirdplist.xml"/>
    <f p="rw-r--r--" a="2005.07.26 15:21:30" 
        m="2005.07.26 15:20:46" s="945" n="thunderbirdplist.xml"/>
    </xml>
    

    这种格式至少有三种不同的错误,虽然不是致命的但都很重要。这是设计 XML 格式一个经典的反例,但是稍加调整就能使其更容易使用,更加健壮。

    用 XML 作元素名

    第一个问题是根元素的名称。字符串 “xml” 被 XML 规范保留,除了万维网联盟(W3C)外,任何人都不能在任何传播的格式中使用。W3C 可能在将来的规范中重定义该名称(以及所有其他以 xml 或者任何组合方式开始的名称)。这并不是一种结构良好性错误,但是有些解析器读到该文档时仍然会发出警告。

    这个名称的第二个问题是它不具有描述性。当然,它确实是 XML。如果包含 XML 声明这一点会更明显。根元素的名称应该反映文档的类型。比如对该元素来说 DirectoryListing 就是不错的选择。


    缩写的名称

    第二个主要的问题是对元素和属性使用缩写名。f 是什么?还有 pams 又是什么?我能猜出来,因为我知道这些数据来自哪里,但是对于别人来说就不那么清楚了。最好把全名拼出来,如清单 2 所示。


    清单 2. 完整的名称
    <DirectoryListing>
      <Directory permissions="rwxrwxrwx" size="170" name="."
            lastAccessed="2005.07.26 15:23:13" 
            lastModified="2005.07.26 15:21:23"/>
      <Directory permissions="rwxrwxrwx"  size="2448" name=".."
            lastAccessed="2005.07.26 15:21:30" 
            lastModified="2005.06.10 13:49:59"/>
      <File permissions="rw-r--r--" size="6148" name=".DS_Store"
            lastAccessed="2005.07.26 15:20:46" 
            lastModified="2005.06.07 14:00:55"/>
      <File permissions="rw-r--r--" size="800" name="canonthunderbirdplist.xml"
            lastAccessed="2005.07.26 15:21:30" 
            lastModified="2005.07.26 15:21:24"/>
      <File permissions="rw-r--r--"   size="945" name="thunderbirdplist.xml"
            lastAccessed="2005.07.26 15:21:30" 
            lastModified="2005.07.26 15:20:46"/>
    </DirectoryListing> 

    是不是这样清楚得多?虽然稍微长了点,但是不存在问题了。如果文件大小很重要(虽然很少如此),那么还有减少磁盘和内存占用而不会导致含糊不清的方法。


    非 XML 结构

    最后一个问题可能最严重。属性包含大量不能通过 XML 解析器访问的子结构。解析此文档的每个程序都必须包含自定义的解析器,用于解析权限格式和时间格式。为什么不让 XML 解析器来完成这些困难的工作呢?这些属性应该放到包含必要的子结构的子元素中。比如,可以这样设计 permissions 子元素:

    <permissions>
      <world>
        <read>true</read>
        <write>false</write>
        <execute>false</execute>
      </world>
      <group>
        <read>true</read>
        <write>true</write>
        <execute>false</execute>
      </group>
      <owner>
        <read>true</read>
        <write>true</write>
        <execute>false</execute>
      </owner>
    </permissions>

    如果愿意的话也可使用属性,但是应该把权限分别放在单独的属性中:

    <File size="945" name="thunderbirdplist.xml"
      lastAccessed="2005.07.26 15:21:30" lastModified="2005.07.26 15:20:46" 
      worldread="true" worldwrite="false" worldexecute="false"
      groupread="true" groupwrite="true"  groupexecute="false"
      ownerread="true" ownerwrite="true"  ownerexecute="false"
    />

    至少有十几种不同的方式,但是无论哪种方法都应该通过 XML 标记使结构明确清晰,不要隐含在文本字符串中。XML 解析器的目的是为客户机应用程序提供单独的信息片段,而不是要求客户机程序再进一步分解内容。

    类似地,可以对时间信息作如下分解:

    <lastModified>
      <year>2005</year>
      <month>06</month>
      <day>10</day> 
      <hour>13</hour>
      <minute>49</minute>
      <second>59</second>
    </lastModified>

    在某种程度上,时间都是统一的,因此保留无区分的字符串可能也行。但是,字符串格式应该进一步标准化,以便很容易用模式语言验证,或者作为各种日期时间库的输入,如 java.util.Date。ISO 8601 时间格式就很好:

    lastModified="2005-06-10T13:49:59"

    如果将来需要,ISO 8601 还定义了表示时区和小数秒的语法。


    结束语

    清单 3 显示了文档的最终版本。


    清单 3. 改进的格式
    <?xml version="1.0" encoding="UTF-8"?>
    <DirectoryListing>
      <Directory size="170" name="."
            lastAccessed="20050726T15:23:13" lastModified="20050726T15:21:23">
        <Permissions>
          <world>
            <read>true</read>
            <write>true</write>
            <execute>true</execute>
          </world>
          <group>
            <read>true</read>
            <write>true</write>
            <execute>true</execute>
          </group>
          <owner>
            <read>true</read>
            <write>true</write>
            <execute>true</execute>
          </owner>
        </Permissions>
      </Directory>
      <Directory size="2448" name=".."
            lastAccessed="20050726T15:21:30" lastModified="20050610T13:49:59">
        <Permissions>
          <world>
            <read>true</read>
            <write>true</write>
            <execute>true</execute>
          </world>
          <group>
            <read>true</read>
            <write>true</write>
            <execute>true</execute>
          </group>
          <owner>
            <read>true</read>
            <write>true</write>
            <execute>true</execute>
          </owner>
        </Permissions>
      </Directory>
      <File size="6148" name=".DS_Store"
            lastAccessed="20050726T15:20:46" lastModified="20050607T14:00:55">
        <Permissions>
          <world>
            <read>true</read>
            <write>false</write>
            <execute>false</execute>
          </world>
          <group>
            <read>true</read>
            <write>false</write>
            <execute>false</execute>
          </group>
          <owner>
            <read>true</read>
            <write>true</write>
            <execute>false</execute>
          </owner>
        </Permissions>
      </File>
      <File size="800" name="canonthunderbirdplist.xml"
            lastAccessed="20050726T15:21:30" lastModified="20050726T15:21:24">
        <Permissions>
          <world>
            <read>true</read>
            <write>false</write>
            <execute>false</execute>
          </world>
          <group>
            <read>true</read>
            <write>false</write>
            <execute>false</execute>
          </group>
          <owner>
            <read>true</read>
            <write>true</write>
            <execute>false</execute>
          </owner>
        </Permissions>
      </File>
      <File size="945" name="thunderbirdplist.xml"
            lastAccessed="20050726T15:21:30" lastModified="20050726T15:20:46">
        <Permissions>
          <world>
            <read>true</read>
            <write>false</write>
            <execute>false</execute>
          </world>
          <group>
            <read>true</read>
            <write>false</write>
            <execute>false</execute>
          </group>
          <owner>
            <read>true</read>
            <write>true</write>
            <execute>false</execute>
          </owner>
        </Permissions>
      </File>
    </DirectoryListing>

    虽然长了些,但是更清晰,也更便于处理。不要害怕冗长。如果需要更短、更简单的格式,可以使用 XSLT 样式表转换。但是,取出额外的结构比放入它要简单得多。

    缩写名称和含糊的字符串格式是只有 32K 内存、速度数千赫兹的超级计算机时代的遗留问题。已经不属于这个时代了。设计 XML 格式的时候,应该强调清晰和准确而不是紧凑。设计应针对易理解性和可维护性,而不是榨出每个字节。要方便那些处理您的文档的每个人,也包括您自己。


    如果要将一个函数或变量定义为全局的函数或者变量,则可以先考虑将其定义为静态变量,这样可以防止外部文件调用该函数和变量。
    展开全文
  • 1.判断文件是否是XML格式 可以通过文件扩展名进行判断,但没法保证文件扩展名正确而内容却不是XML格式.因此可以使用异常进行判断. import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers....

    1.判断文件是否是XML格式

    可以通过文件扩展名进行判断,但没法保证文件扩展名正确而内容却不是XML格式.因此可以使用异常进行判断.

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
     
     
    private static boolean isXmlDocument(File file){
        boolean flag = true;
        try {
            DocumentBuilderFactory foctory =DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = foctory.newDocumentBuilder();
            builder.parse(file);
            flag = true;
        } catch (Exception e) {
            flag = false;
        } 
        return flag;
    }
    
    
    
    

     

    2.判断字符串是否是XML格式

    XML是纯文本,你要判断它整个是否是正确格式,相当于读入全部文件整个进行字符串分析更耗资源!

    最简单的方法就是用异常判断。

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
     
     
    private static boolean isXmlDocument(String rtnMsg){
        boolean flag = true;
        try {
                DocumentBuilderFactory documentBuilderFactory =        DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
            builder.parse( new InputSource( new StringReader( rtnMsg )));
        } catch (Exception e) {
            flag = false;
        }
            return flag;
    }

     

    展开全文
  • php数组转换为XML格式 //数组转XML function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">".$val."</"....

    php数组转换为XML格式,以及XML格式转成数组

    //数组转XML
    function arrayToXml($arr)
    {
        $xml = "<xml>";
        foreach ($arr as $key=>$val)
        {
            if (is_numeric($val)){
                $xml.="<".$key.">".$val."</".$key.">";
            }else{
                $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
            }
        }
        $xml.="</xml>";
        return $xml;
    }
    //将XML转为array
    function xmlToArray($xml)
    {
        //禁止引用外部xml实体
        libxml_disable_entity_loader(true);
        $values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
        return $values;
    }
    
    展开全文
  • vs2010中如何把数据库中xml格式的string字符串转化成xml格式文件?
  • xml格式转换为txt格式

    千次阅读 2019-04-15 20:29:22
    xml格式转换为txt格式 本文借用yolo中的程序进行修改,链接如下: https://pjreddie.com/media/files/voc_label.py 修改后程序如下: import xml.etree.ElementTree as ET import pickle import os from os import ...

    xml格式转换为txt格式

    本文借用yolo中的程序进行修改,链接如下:

    https://pjreddie.com/media/files/voc_label.py
    

    修改后程序如下:

    import xml.etree.ElementTree as ET
    import pickle
    import os
    from os import listdir, getcwd
    from os.path import join
    
    sets=[('2007', 'train'), ('2007', 'val'), ('2007', 'test')]
    
    classes = ["aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"]
    
    
    def convert(size, box):
        dw = 1./size[0]
        dh = 1./size[1]
        x = (box[0] + box[1])/2.0
        y = (box[2] + box[3])/2.0
        w = box[1] - box[0]
        h = box[3] - box[2]
        x = x*dw
        w = w*dw
        y = y*dh
        h = h*dh
        return (x,y,w,h)
    
    def convert_annotation(year, image_id):
        in_file = open('VOCdevkit/VOC%s/Annotations/%s.xml'%(year, image_id))
        out_file = open('VOCdevkit/VOC%s/labels/%s.txt'%(year, image_id), 'w')
        tree=ET.parse(in_file)
        root = tree.getroot()
        size = root.find('size')
        w = int(size.find('width').text)
        h = int(size.find('height').text)
    
        for obj in root.iter('object'):
            difficult = obj.find('difficult').text
            cls = obj.find('name').text
            if cls not in classes or int(difficult) == 1:
                continue
            cls_id = cls
            xmlbox = obj.find('bndbox')
            b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text), float(xmlbox.find('ymax').text))
            bb = convert((w,h), b)
            out_file.write(" " + " ".join([str(a) for a in bb]) +" "+str(cls_id)+ '\n')
    
    wd = getcwd()
    
    for year, image_set in sets:
        if not os.path.exists('VOCdevkit/VOC%s/labels/'%(year)):
            os.makedirs('VOCdevkit/VOC%s/labels/'%(year))
        image_ids = open('VOCdevkit/VOC%s/ImageSets/Main/%s.txt'%(year, image_set)).read().strip().split()
        list_file = open('%s_%s.txt'%(year, image_set), 'w')
        for image_id in image_ids:
            list_file.write('%s/VOCdevkit/VOC%s/JPEGImages/%s.jpg\n'%(wd, year, image_id))
            convert_annotation(year, image_id)
        list_file.close()
    

    运行后,效果如图:
    在这里插入图片描述
    主要的修改处是在读取.text中的数据。

    展开全文
  • XML格式转为Lua表格式

    千次阅读 2019-09-06 16:48:34
    XML 格式转化为 Lua 的表,有很多方法,网上有一个luaXml的库,也饱受好评。但是其中功能太多,而我的需求又太简单,于是写了一个很简单的函数来完成需求。主要是通过 string.find 的机制来实现的。 XML 内容如下...
  • 解析 XML格式数据

    万次阅读 2017-11-18 10:43:58
    解析 XML格式数据
  • xml格式转换为json格式

    千次阅读 2019-03-22 13:13:14
    在Python编程中,经常遇到xml格式的文件或字符串。由于json格式的方便性,常常希望将xml格式转换为json格式来处理,这可以通过模块xmltodict来实现。 xmltodict模块通过pip来下载和安装...
  • python中将xml格式转json格式

    千次阅读 2017-10-12 22:03:41
    python中将xml格式转json格式
  • 想将网页保存为xml格式,右键网页,将网页另存为只能保存成html格式。请问如何才能将其保存为xml格式呢?
  • Java xml格式化工具

    千次阅读 2017-05-22 10:11:07
    Java xml格式化工具Java 实现xml格式化工具代码地址: https://github.com/xiaxveliang/JavaTool_XmlValidate运行效果点击“乘1.5”按钮后的运行效果
  • Spring Boot返回xml格式

    千次阅读 2018-10-16 23:06:40
    Spring Boot返回xml格式 目前流行的接口形式,数据类型基本都是json格式,很少使用xml格式进行数据传输。 在网站seo时,常常会用到sitemap,常用的形式就是xml格式。 如下简单说明: 1. 在xml返回的实体类前加@...
  • loadrunner post xml格式

    千次阅读 2019-03-21 13:59:23
    在loadrunner中xml和json的脚本是大体一样的: ...xml格式的:直接“Body=xmlbody的内容”//注意不需要大括号,如果里面有双引号,要转义。 json格式的:“Body={jsonbody内容}。 下面是xml的一个例子。 ...
  • 训练YOLO v4模型时,xml格式转txt格式

    千次阅读 2020-05-01 00:54:39
    特别当下载别人标记好的数据集时,很有可能提供的是xml格式的文件,那么如何将xml格式转为txt格式? 代码如下: import xml.etree.ElementTree as ET import pickle import os from os import listdi...
  • Xml处理——获取Xml格式数据

    千次阅读 2015-11-25 23:32:57
    转换为XML格式 ,获取节点数据,xml数据注入到javabean中
  • Notepad++Xml格式化插件和json格式化插件.zip

    千次下载 热门讨论 2017-08-29 20:19:09
    Notepad++自身没有json和xml格式化工具,为止我们增加对应的格式化工具,打包在一起提供给朋友们下载,具体使用可以查看 http://blog.csdn.net/xs_challenge/article/details/77686481
  • 但是都不符合我的需求,也有人写了专门用于生成XML格式文件的接口,或者方法,但说实话我借用过来后并不好使,可能我技术水平不高用不好大师的方法吧(真是的),于是辗转还是自己解决吧,期间也请教了一些人(很...
  • 解析xml格式字符串

    千次阅读 2018-08-23 09:43:03
    解析xml格式字符串 由于写接口时,总有人会传一些xml格式的字符串,节点少时可以一一获取,但是如果有大量的子节点时,可以使用反射机制实现实体类接收xml格式字符串数据,只需要保证节点名称和实体类字段一直即可 ...
  • JSON格式转换成XML格式

    千次阅读 2016-09-13 16:41:47
    JSON格式转换成XML格式 第一种方法: 需要使用命名空间System.Runtime.Serialization.Json 下面有JsonReaderWriterFactory XmlDictionaryReader reader = JsonReaderWriterFactory.CreateJsonReader...
  • 对传入xml格式的数据,往往需要转换成指定格式的数据,这时候需要xml Schema来进行实现。传入报文如下:Xml Schema准换模板:使用xmlSpy进行验证,转换后的模板为:关于xmlSpy的使用:1.将输入xml文档和转换xslt模板...
  • Jackson 生成xml格式文件

    千次阅读 2020-08-21 11:50:57
    Jackson 生成xml格式文件 Jackson是java应用中流行的操作Json工具库,很快成为Java生态中事实标准,Spring boot默认也使用Jackson。从版本2开始,支持json的同时引入成熟的xml实现。 1. 环境依赖 增加Jackson xml ...
  • xml格式详解

    万次阅读 多人点赞 2019-04-29 17:35:06
    一、xml基础详解: 1、概述: xml:即可扩展标记语言,xml是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行证的数据携带者。xml是...
  • 解析XML格式数据实例

    千次阅读 2018-05-24 17:48:38
    网络数据传输时,最常用的格式有两种:XML和JSON,下面我们就研究如何使用Pull解析和Sex解析来实现对XML格式文件数据的解析。 实例流程: 1.创建服务器:Apache服务器(用于模拟解析网络中的数据) 2.在...
  • JAVA创建XML格式的文件

    2019-05-14 09:53:26
    JAVA创建XML格式的文件,并写入自定义的标签。所有的标签都放在了字符串中。 比如String a="<Tender></Tender>......后面还有很多";将字符串a直接放到XMl的下面
  • seo的同事要批量提交xml格式的数据到搜索引擎,目前项目用laravel框架开发的,所以就有了这篇文章的诞生了。网上有不少关于php输出xml格式的例子,小弟不才也搬过,只是在php文件上面测试是没问题的,把它搬到...
  • 将 .json 格式 转换成 .xml格式

    千次阅读 热门讨论 2019-08-30 21:30:33
    1. 转换前的 .json 格式文件的内容: json 是一个字典,具体内容看下面这个链接: ...2. 转换后的 .xml 格式文件的内容: <annotation> <folder>VOC2012</folder> # 这些值训练的...
  • 将 .xml 格式转成 YOLO的 .txt格式

    千次阅读 2019-08-30 15:54:46
    文章目录将 VOC的 .xml 格式转成 YOLO的 .txt格式1. 转换代码下载地址:2. 代码全文如下: 将 VOC的 .xml 格式转成 YOLO的 .txt格式 1. 转换代码下载地址: 下载地址:...
  • PHP输出XML格式

    千次阅读 2017-01-23 15:44:46
    最近制作了一个的RSS订阅源,了解了一下如何使用PHP输出XML格式的方法。头文件header("Content-type: text/xml");输出XML$data = array( array( 'title' => '标题', 'link' => 'url', 'guid' => '为项目定义一个...
  • XML格式文件下载

    千次阅读 2017-06-05 15:42:40
    spring mvc模式下 下载xml格式的文档相关代码: @RequestMapping(value = "/shili") public ResponseEntitybyte[]> load(HttpServletRequest request)throws IOException { HttpHeaders headers = new HttpHe
  • 首先要确定这个接口能够使用xml格式参数请求成功,可以先用接口测试工具进行测验,工具比如Postman,soapUI等等,具体的接口工具安装使用教程这里就不多说了,网上一搜一大把的,那么接下来说下HTTP+POST+XML格式的请求...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,991
精华内容 30,396
关键字:

xml格式