aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 20307|回复: 3

解析格式化HTML演示

[复制链接]

170

主题

2169

回帖

1万

积分

管理员

积分
13161
发表于 2018-5-26 16:11:49 | 显示全部楼层 |阅读模式
最新版才支持的功能,请先更新 aardio 再测试,
先看看写的这么任性的HTML,解析并格式化的效果:
import console;

var html =  /*
<table>
<caption>37547 TEE Electric Powered Rail Car Train Functions (Abbreviated)
<colgroup><col><col><col>
<thead>
<tr>
  <th>Function
  <th>Control Unit
  <th>Central Station
<tbody>
<tr>
  <td>Headlights
  <td>&#10004;
  <td>&#10004;
<tr>
  <td>Interior Lights
  <td>&#10004;
  <td>&#10004;
<tr>
  <td>Electric locomotive operating sounds
  <td>&#10004;
  <td>&#10004;
<tr>
  <td>Engineer’s cab lighting
  <td>
  <td>&#10004;
<tr>
  <td>Station Announcements - Swiss
  <td>
  <td>&#10004;
</table>
*/


import string.html;
var htmlDoc = string.html( html )

console.log( htmlDoc.outerXml(
true) )
console.more(1)

再来一个:
import console;

var html =  /*
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />  <style type="text/css">
    html,body{ height:100%; margin:0; }
</style>     <script type="text/javascript"></script>
<body><div id="header"></div> <div id="container">
<br>
<div class="lside">

<span>aaaaaaaaaa<span>aaaaaaaaaaaaaaaaaaaaa</span>aaaaaaaaaaa</span>

</div>  <div class="rside"> </div>   

</div>
*/


import string.html;
var htmlDoc = string.html( html )

console.log( htmlDoc.outerXml(
true) )
console.more(1)

来个大的:
import win.ui;
/*DSG{{*/
var winform = win.form(text="格式化HTML";right=759;bottom=469)
winform.add(
button={cls=
"button";text="格式化HTML";left=504;top=432;right=704;bottom=464;db=1;dr=1;z=2};
richedit={cls=
"richedit";left=16;top=8;right=752;bottom=424;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=1}
)
/*}}*/

winform.button.oncommand =
function(id,event){
   
import web.rest.client;
   
import string.html;
   
   
var html = web.rest.client().get("http://www.qq.com");
   
var doc = string.html(html)
   
    winform.richedit.text = doc.outerXml(
true)
}

winform.show()
win.loopMessage();


注意,只要反过来用  htmlDoc.outerXml(false,"") 就可以实现压缩HTML的功能

15

主题

21

回帖

447

积分

二级会员

积分
447
发表于 2018-5-26 20:30:10 | 显示全部楼层
Jacen牛逼!!!
-----------------------------------------

2

主题

7

回帖

117

积分

一级会员

积分
117
发表于 2018-5-28 07:45:46 | 显示全部楼层
aardio的大厦已经建出,剩下的只是小修小补了。
string.search很有用

0

主题

11

回帖

190

积分

一级会员

积分
190
发表于 2018-5-28 12:27:12 | 显示全部楼层
Jacen代码写的精简给力,一目了然,学习了。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-9-15 11:48 , Processed in 0.068615 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表