信XML,得永生!

信XML,得永生!

在计算机的世界里,什么最牛?JavascriptC语言C++iPad?还是brainfuck?我个人觉得都不是,这个世界里,XML最NB,这世界到处都充斥着XML,正如在“十条不错的编程观点”文中所说,我们不用XML我们都不知道怎么编程了。下面,让我们来看一看XML的几个真实的示例,相信你会同意我的观点的。

一、如何用XML返回数据库SQL查询结果

<?xml version="1.0" encoding="iso-8859-1" ?>
<result>
  <fields>
    <field>NAME</field>
    <field>LAST NAME</field>
    <field>MOTHER MAIDEN NAME</field>
    <field>BIRTHDATE</field>
    ...
  </fields>
  <data>
    <row>
      <value>MARLENE</value>
      <value>RUTH</value>
      <value>DE MARCO</value>
      <value>1973-02-24 00:00:00</value>
      ...
    </row>
  </data>
</result>

二、如何用XML序列化一个图片

<attachments xmlns = "http://webservices..." >
  <bytes>37</bytes>
  <bytes>80</bytes>
  <bytes>68</bytes>
  <bytes>70</bytes>
  <bytes>45</bytes>
  <bytes>49</bytes>
  <bytes>46</bytes>
  <bytes>52</bytes>
  <bytes>10</bytes>
  <bytes>37</bytes>
  <bytes>-30</bytes>
  <bytes>-29</bytes>
  <bytes>-49</bytes>
  <bytes>-45</bytes>
  <bytes>10</bytes>
  <bytes>52</bytes>
  <bytes>32</bytes>
  <bytes>48</bytes>
  <bytes>32</bytes>
  <bytes>111</bytes>
  ...
  ...
  ...

三、如何让XML与CSV格式兼容

<?xml version="1.0" encoding="iso8859-1" ?>
<import tag="1stTEST" type="data" mode="update">
<options>
    <dateformat mmddyyyy="true"/>
        <notification>
            <EMail>example@example.com</EMail>
        </notification>
    </options>
    <fields>
        <field name="name" type="char" mapsto="person.data"/>
        <field name="officeid" type="char" mapsto="custom.locationid"/>
        <field name="startyear" type="char" mapsto="person.yearstarted"/>
        <field name="personelid" type="int" mapsto="person.id"/>
        <field name="dob" type="date" mapsto="person.dateofbith"/>
        <field name="sex" type="char" mapsto="person.sex"/>
        <field name="modified" type="date" mapsto="record.modified"/>
    </fields>
    <csvdata columnheaders="false">
<![CDATA[
"Jack Wade",214,2002,111012,07/04/1975,"M",02/11/2006
"Sam Davidson",214,1999,104841,10/15/1967,"M",02/10/2006
"Denise V Law",214,1998,104660,01/21/1971,"F",02/17/2006
"Lisa Blake",214,1989,100987,08/01/1982,"F",01/21/2006
"Andrew Match",214,1991,101074,12/25/1980,"M",02/28/2006
]]>
    </csvdata>
</import>

四、如何把XML当成数组来用

<rootNode>
   <numberOfAddresses>110</numberOfAddresses>
   <address_1>442 Fake St.</address_1>
   <address_2>61 Main St.</address_2>
   ...
   ...
   ...
   <address_110>3881 N 4th Ave. #5D</address_110>
</rootNode>

相信你一定有比这更牛X的例子,欢迎与我们分享!


关注CoolShell微信公众账号和微信小程序

(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)

——=== 访问 酷壳404页面 寻找遗失儿童。 ===——
好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.14 )
Loading...

信XML,得永生!》的相关评论

    1. 基于 LLVM 的 clang 前端去用 Graphviz 可视化效果也很好 (可是好像不能直接画 dot 图

      clang -cc1 -ast-dump
      clang -emit-ast -xc - -o -
      clang -S -emit-llvm foo.c -o foo.ll
      llc -cfg-func-name=boo foo.ll -view-edge-bundles
      

      GCC 上,好像也可以输出 AST dump 后用 AWK 什么的处理成 dot 格式看,具体《深入分析 GCC》这本书好像有写到

  1. 里说的是反的吧。。。

    4)XML is highly overrated

    XML可能被高估了。XML对于Web上的应用是不错的,但是我们把其用到了各种地方,好像没有XML,我们都不会编程了。

  2. 我以为大家能够看懂,但我错了。我的这篇文章是在调侃XML,全是反话啊,文中的四种用法全是相当Stupid的用法。大家没有读懂吗?哦滴神啊……

  3. 如何用XML序列化一个图片
    明天我把所有的图片都这样保存一定很酷,但估计要在买几个盘!

  4. …….是有些讽刺…我以进来就感觉到了这篇文章的意思其实讽喻,我没有什么很高的编程功底,不过我读过不少的XML,其令人难解之处却是不少

  5. hhhh 现在 Android 上 View XML 和 JavaEE 一些 XML 的用法也蛮“厉害”
    虽然都是解决些很 trivial 的问题吧,对于 JavaEE 也是为了(可能的)把开发和运维分开的原因,反正就是各种直觉不友好

    据说一些软件用 XML 的时候甚至会利用『表达式语言』来支持 XML 的预处理… 和 Swagger 有的一拼
    网垠一篇文章里提到(忘记是那篇了…)

    Swagger 是使用 YAML 的(以前用 JSON)并且可以使用诸如 $ref 这样的预处理标签来做项目的模块化,不过即使这样也是造成了冗余,我写过一个算是 Quick Hack 的东西,从自己定义的 DSL 里解析结构,然后自动生成 SpringBoot 的 endpoint 定义,结果比 Swagger 的省了不少无用缩进,数据应该是横过来的才好看,一大堆重复的东西… 反而难阅读
    https://github.com/duangsuse/GeekSpec-GeekApkv1.0b

    Maven 的 POM http://maven.apache.org/xsd/maven-4.0.0.xsd 我记了好几天才勉强记住一个模板,虽然数据量本身不大,但是 XML 的表示方式真的反直觉

发表评论

电子邮件地址不会被公开。 必填项已用*标注