Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift html解析、查找、管理和导出_Html_Ios_Css_Swift_Parsing - Fatal编程技术网

Swift html解析、查找、管理和导出

Swift html解析、查找、管理和导出,html,ios,css,swift,parsing,Html,Ios,Css,Swift,Parsing,我有一个复杂的HTML,我想解析、查找和操作一些元素 有人能举例说明如何使用这个示例HTML吗 "<!DOCTYPE html>" + "<html>" + "<head>" + "<title>Page Title</title>" + "</head>" + "<body>" + "<h1>This is a Heading</h1>" + "<p class='paragrap

我有一个复杂的HTML,我想解析、查找和操作一些元素

有人能举例说明如何使用这个示例HTML吗

"<!DOCTYPE html>" +
"<html>" +
"<head>" +
"<title>Page Title</title>" +
"</head>" +
"<body>" +
"<h1>This is a Heading</h1>" +
"<p class='paragraph'>This is a paragraph.</p>" +
"<p class='paragraph'>This is a paragraph 2.</p>" +
"</body>" +
"</html>";
“”+
"" +
"" +
“页面标题”+
"" +
"" +
“这是一个标题”+
“这是一个段落。

”+ “这是第2段。

”+ "" + "";
一个简单的方法是使用Swift库处理现实世界的HTML

下面是一个示例代码:

do{
            let html = "<!DOCTYPE html>" +
                "<html>" +
                "<head>" +
                "<title>Page Title</title>" +
                "</head>" +
                "<body>" +
                "<h1>This is a Heading</h1>" +
                "<p class='paragraph'>This is a paragraph.</p>" +
                "<p class='paragraph'>This is a paragraph 2.</p>" +
                "</body>" +
            "</html>";

            let doc: Document = try SwiftSoup.parse(html)
            let els: Elements = try doc.getElementsByClass("paragraph")
            let el: Element? = els.first()//get first element
            print(try "\(el?.text())")//This is a paragraph.
            try el?.text("New paragraph")
            print(try "\(el?.text())")//New paragraph


            //add new element
            let newNode: Element =  Element(try Tag.valueOf("em"), "")
            try newNode.appendText("four")
            try doc.body()?.appendChild(newNode)

            //add html
            try doc.body()?.append("<p>new html</p>")

            print(try doc.html())
        }catch Exception.Error(let type, let message)
        {
            print("")
        }catch{
            print("")
        }
do{
让html=“”+
"" +
"" +
“页面标题”+
"" +
"" +
“这是一个标题”+
“这是一个段落。

”+ “这是第2段。

”+ "" + ""; let doc:Document=try swifsoup.parse(html) 让els:Elements=try doc.getElementsByClass(“段落”) 让el:Element?=els.first()//获取第一个元素 打印(请尝试“\(el?.text())”//这是一个段落。 试试el?.text(“新段落”) 打印(尝试“\(el?.text())”//新段落 //添加新元素 让newNode:Element=Element(尝试Tag.valueOf(“em”),“”) 尝试newNode.appendText(“四”) 尝试doc.body()?.appendChild(新节点) //添加html 尝试doc.body()?.append(新建html

) 打印(请尝试doc.html()) }捕获异常。错误(let类型,let消息) { 打印(“”) }抓住{ 打印(“”) }
这里是新的HTML:

<!doctype html>
<html>
 <head>
  <title>Page Title</title>
 </head>
 <body>
  <h1>This is a Heading</h1>
  <p class="paragraph">New paragraph</p>
  <p class="paragraph">This is a paragraph 2.</p>
  <em>four</em>
  <p>new html</p>
 </body>
</html>

页面标题
这是一个标题

新段落

这是第2段

四 新html