0

0

XML的DOM解析内存占用过高有什么优化方案?

煙雲

煙雲

发布时间:2025-08-04 19:41:01

|

526人浏览过

|

来源于php中文网

原创

当xml文件过大时,dom解析会因将整个文档加载为对象树而导致内存占用过高;2. 若只需顺序读取或提取部分数据,应改用sax或stax等流式解析方式以降低内存消耗;3. 若必须使用dom,可通过解析后释放无关节点、使用xpath精准查询、避免调用normalize()、禁用dtd/schema验证及分块处理等方式优化内存使用;4. 选择解析策略应综合考虑文件大小、访问模式、开发复杂度和语言生态,优先在小文件或需随机访问时用dom,大文件或顺序处理时用流式解析。

XML的DOM解析内存占用过高有什么优化方案?

XML的DOM解析内存占用过高,说白了,就是因为它把整个XML文件一股脑儿地都塞进了内存,变成了一棵对象树。所以,最直接的办法就是看你是不是真的需要这棵树。如果不是,那我们应该考虑换个思路,比如转向流式解析;如果非用不可,那就要在代码层面精细管理,尽量减少它的“胃口”。

解决方案

对于XML文件过大导致DOM解析内存爆炸的问题,我的经验是,首先要审视你的业务场景和数据访问模式。

如果你的应用只需要顺序读取XML文件中的数据,或者只需要提取其中的一小部分信息,那么果断放弃DOM,转向流式解析(Streaming API for XML)是最佳选择。这包括SAX(Simple API for XML)和StAX(Streaming API for XML)。SAX是一种事件驱动的API,当解析器遇到XML文档中的开始标签、结束标签、文本内容等事件时,会通知你的程序。它不会在内存中构建整个文档树,因此内存占用极低。缺点是你需要自己维护解析状态,处理起来相对复杂。StAX则提供了一种更“拉取式”(pull-parser)的风格,你可以主动从解析器中请求下一个事件,这让代码编写起来更直观,也保留了低内存占用的优势。比如,Java生态里的

javax.xml.stream
包就是StAX的实现,用起来比SAX要舒服得多。

但如果你的应用确实需要随机访问XML文档的任何部分,或者需要频繁修改文档结构,又或者需要进行复杂的XSLT转换,那DOM的便利性确实难以替代。在这种情况下,优化就不是“换掉DOM”,而是“驯服DOM”了。你可以尝试:

  1. 解析后立即释放不必要的节点:如果你只关心XML中的某个特定子树,可以在解析完成后,将其他不关心的节点从文档树中移除,甚至直接将其引用设为null,让垃圾回收器有机会回收内存。
  2. 利用XPath进行精准查询:避免手动遍历整个DOM树来查找目标节点。XPath能够高效地定位到你需要的元素,减少了不必要的节点访问和处理,虽然DOM本身还在内存里,但你的操作效率提升了,间接降低了处理过程中的内存峰值。
  3. 考虑内存效率更高的DOM实现:虽然标准DOM实现通常比较通用,但有些语言或平台可能提供优化过的DOM库,它们在内存管理上可能更精细。不过这通常比较小众,而且意味着你可能需要引入新的依赖。
  4. 分块处理大型XML文件:如果可能,将巨大的XML文件在外部工具或流式处理阶段就拆分成多个小文件,每个小文件再用DOM解析。但这需要业务逻辑支持,不总是可行。

为什么DOM解析会占用大量内存?

这其实是个很直观的问题。你想想看,一个XML文档,DOM解析器把它读进来后,可不是简单地存个文本字符串就完事了。它会把文档中的每一个元素、每一个属性、每一段文本内容,都实例化成一个个独立的Java对象(或者其他语言的对象)。

举个例子,一个

Effective XMLJohn Doe
这样的简单片段,在内存里可能就会变成:

  • 一个
    Document
    对象作为根。
  • 一个
    Element
    对象代表
  • 这个
    对象会有一个
    Attribute
    对象代表
    id="123"
  • 它还会有两个子
    Element
    对象,分别代表
    </pre>和<pre class="brush:php;toolbar:false;"><author></pre>。</li>
    <li>每个<pre class="brush:php;toolbar:false;">Element</pre>对象内部,又会有一个<pre class="brush:php;toolbar:false;">Text</pre>节点对象来存储它们的文本内容,比如“Effective XML”和“John Doe”。</li>
    </ul>
    <p>这还没算上这些对象之间为了构建“树”结构而产生的各种引用(父子关系、兄弟关系),以及对象本身的内存开销(比如Java对象的对象头、对齐填充等)。如果你的XML文件有几百兆,包含成千上万个嵌套的元素,那这些对象加起来的内存消耗,轻松就能达到文件大小的几倍甚至几十倍。更何况,字符串内容在内存中也需要存储,而且可能存在重复字符串的内存浪费(比如很多节点都有相同的标签名)。所以,内存占用过高,就是这种“所见即所得”的树形结构带来的直接代价。</p>
    <h3>除了SAX/StAX,还有哪些DOM层面的优化技巧?</h3>
    <p>是的,如果业务上确实离不开DOM,那我们得在DOM这个框架下“螺蛳壳里做道场”,尽可能地优化。</p>
    <p>一个很重要的点是<strong>避免不必要的规范化操作</strong>。DOM API里有个<pre class="brush:php;toolbar:false;">normalize()</pre>方法,它的作用是合并相邻的文本节点,并移除空文本节点。听起来好像很方便,但如果你的XML文档很大,调用这个方法可能会导致大量的内存重新分配和对象创建,因为解析器需要遍历整个树并可能创建新的节点来替换旧的,这在内存敏感的场景下是应该避免的。除非你确实需要严格规范化的DOM树,否则尽量不要调用它。</p><div class="aritcle_card flexRow">
    							<div class="artcardd flexRow">
    								<a class="aritcle_card_img" href="/ai/964" title="XPaper Ai"><img
    										src="https://img.php.cn/upload/ai_manual/000/000/000/175680173687576.png" alt="XPaper Ai"></a>
    								<div class="aritcle_card_info flexColumn">
    									<a href="/ai/964" title="XPaper Ai">XPaper Ai</a>
    									<p>AI撰写论文、开题报告生成、AI论文生成器尽在XPaper Ai论文写作辅助指导平台</p>
    								</div>
    								<a href="/ai/964" title="XPaper Ai" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
    							</div>
    						</div>
    <p>再一个,是<strong>细致的节点生命周期管理</strong>。虽然Java有垃圾回收机制,但如果你在处理完某个大型子树后,仍然持有对它的引用,那么这部分内存就不会被回收。所以,当你处理完某个分支或者某个大型节点集合后,如果确认不再需要它们,应该主动将其引用设置为<pre class="brush:php;toolbar:false;">null</pre>,并考虑从父节点中移除(如果逻辑允许),这样能帮助垃圾回收器更快地识别并回收这部分内存。</p>
    <p>此外,<strong>解析器配置</strong>也值得关注。有些DOM解析器允许你配置一些参数,比如是否进行DTD验证或者Schema验证。这些验证过程本身就需要额外的内存来加载DTD或Schema文件,并进行复杂的结构检查。如果你的XML文件来源可信,或者你不需要在解析阶段进行严格的结构验证,禁用这些验证功能可以节省一部分内存和CPU开销。当然,这要权衡安全性和数据完整性的需求。</p>
    <h3>如何选择合适的XML解析器和解析策略?</h3>
    <p>选择XML解析器和策略,核心在于理解你的<strong>需求</strong>和<strong>数据特性</strong>。这没有一劳永逸的答案,更像是一门艺术。</p>
    <p>首先,<strong>文件大小是决定性因素</strong>。如果你的XML文件只有几十KB到几MB,那么DOM通常是个不错的选择,它的编程模型简单直观,适合快速开发和随机访问。但如果文件达到几十MB甚至GB级别,DOM就成了内存杀手,这时候就必须考虑流式解析,比如StAX或SAX。</p>
    <p>其次,<strong>数据访问模式</strong>。你需要随机访问XML文档的任何节点吗?比如,先读取某个节点,然后根据其内容跳到另一个不相关的节点去读取。如果是这样,DOM的树形结构提供了天然的便利。但如果你只是需要从头到尾遍历一遍,提取一些信息,或者将XML转换为另一种格式(如JSON、CSV),那么流式解析效率更高,内存占用更少。StAX在这两者之间找到了一个很好的平衡点,它允许你按需“拉取”事件,既有流式的低内存,又比SAX的事件回调更易于控制。</p>
    <p>再者,<strong>编程模型的复杂度和开发效率</strong>。DOM模型简单直观,上手快,<a style="color:#f60; text-decoration:underline;" title="代码可读性" href="https://www.php.cn/zt/55554.html" target="_blank">代码可读性</a>好,尤其是在处理结构复杂但文件不大的XML时。SAX则相对复杂,你需要实现各种回调接口,维护自己的状态机,代码量和逻辑复杂度会增加。StAX则在两者之间,提供了迭代器模式,相对SAX更易用。</p>
    <p>最后,<strong>语言和生态系统</strong>。不同的编程语言有其偏好的XML处理库。例如,Java的JAXP(包含DOM、SAX、StAX)、Python的<pre class="brush:php;toolbar:false;">xml.etree.ElementTree</pre>(一种简化的DOM-like API,对内存相对友好)、<pre class="brush:php;toolbar:false;">lxml</pre>(功能强大,性能优异),C#的<pre class="brush:php;toolbar:false;">XmlDocument</pre>(DOM)和<pre class="brush:php;toolbar:false;">XmlReader</pre>(流式)。了解这些库的特性和性能表现,能帮助你做出更明智的决策。</p>
    <p>总之,没有最好的解析器,只有最适合你当前场景的解析策略。通常我会建议,先用流式解析器进行尝试,如果发现其编程模型无法满足你的复杂需求,或者文件大小确实不大,再考虑转向DOM。</p>					</div>
    					<div class="artmoreart ">
    													<div class="artdp artptit"><span></span>
    								<p>相关文章</p>
    							</div>
    							<div class="artmores flexColumn">
    																	<a class="artmrlis flexRow" href="/faq/2038661.html" title="JUnit XML报告格式是什么 Jenkins怎么解析测试结果"><b></b>
    										<p class="overflowclass">JUnit XML报告格式是什么 Jenkins怎么解析测试结果</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2038638.html" title="Java如何将List转换为XML"><b></b>
    										<p class="overflowclass">Java如何将List转换为XML</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2038612.html" title="HTTP/3和QUIC如何提升XML文件上传的性能和可靠性"><b></b>
    										<p class="overflowclass">HTTP/3和QUIC如何提升XML文件上传的性能和可靠性</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2035726.html" title="Serverless架构如何处理XML上传 AWS Lambda和API Gateway"><b></b>
    										<p class="overflowclass">Serverless架构如何处理XML上传 AWS Lambda和API Gateway</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2035625.html" title="Altova MapForce映射XML到EDIFACT格式"><b></b>
    										<p class="overflowclass">Altova MapForce映射XML到EDIFACT格式</p>
    									</a>
    															</div>
    													<div class="artmoretabs flexRow">
    								<p>相关标签:</p>
    								<div class="mtbs flexRow">
    									<a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/31874.html" target="_blank">xml解析</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15730.html" target="_blank">python</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16887.html" target="_blank">工具</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/33388.html" target="_blank">c#</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/33940.html" target="_blank">xml处理</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/35234.html" target="_blank">数据访问</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/38616.html" target="_blank">内存占用</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/50301.html" target="_blank">垃圾回收器</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/55554.html" target="_blank">代码可读性</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/92702.html" target="_blank">为什么</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=json" target="_blank">json</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=NULL" target="_blank">NULL</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=for" target="_blank">for</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=xml" target="_blank">xml</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=字符串" target="_blank">字符串</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=接口" target="_blank">接口</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=Attribute" target="_blank">Attribute</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=对象" target="_blank">对象</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=事件" target="_blank">事件</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=dom" target="_blank">dom</a>								</div>
    							</div>
    						
    						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
    						<div class="lastanext flexRow">
    													<a class="lastart flexRow" href="/faq/1440268.html" title="XML的XForms技术现在还适用吗?怎么解析这类文档?"><span>上一篇:</span>XML的XForms技术现在还适用吗?怎么解析这类文档?</a>
    													<a class="nextart flexRow" href="/faq/1440379.html" title="XML的xml:space属性如何影响空白字符解析?"><span>下一篇:</span>XML的xml:space属性如何影响空白字符解析?</a>
    												</div>
    					</div>
    
    					<div class="artlef-down ">
    													<div class="authormore ">
    								<div class="rightdTitle flexRow">
    									<div class="title-left flexRow"> <b></b>
    										<p>作者最新文章</p>
    									</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041063.html" title="可视化html编辑器软件哪个好 网页可视化工具"><b></b>
    												<p class="overflowclass">可视化html编辑器软件哪个好 网页可视化工具</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 18:51</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041097.html" title="如何用AI生成独特的手机壁纸和电脑桌面?"><b></b>
    												<p class="overflowclass">如何用AI生成独特的手机壁纸和电脑桌面?</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:00</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041112.html" title="PPT怎么批量修改字体 PPT全局字体一键替换方法【指南】"><b></b>
    												<p class="overflowclass">PPT怎么批量修改字体 PPT全局字体一键替换方法【指南】</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:03</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041128.html" title="Windows怎么重置网络协议 Win10/Win11解决无法上网命令教程"><b></b>
    												<p class="overflowclass">Windows怎么重置网络协议 Win10/Win11解决无法上网命令教程</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:07</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041152.html" title="Chrome浏览器如何模拟慢速网络 F12网络状况节流调试【开发者】"><b></b>
    												<p class="overflowclass">Chrome浏览器如何模拟慢速网络 F12网络状况节流调试【开发者】</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:13</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041188.html" title="Word怎么设置目录虚线 Word目录页码对齐方法【教程】"><b></b>
    												<p class="overflowclass">Word怎么设置目录虚线 Word目录页码对齐方法【教程】</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:21</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041215.html" title="电视看B站如何开启4K?云视听小电视超高清画质设置教程"><b></b>
    												<p class="overflowclass">电视看B站如何开启4K?云视听小电视超高清画质设置教程</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:26</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041223.html" title="B站网页版4K怎么开?Edge/Chrome浏览器看B站4K避坑指南"><b></b>
    												<p class="overflowclass">B站网页版4K怎么开?Edge/Chrome浏览器看B站4K避坑指南</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:28</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041264.html" title="500克是几斤?大陆、香港、台湾“斤”的定义区别"><b></b>
    												<p class="overflowclass">500克是几斤?大陆、香港、台湾“斤”的定义区别</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:36</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2041267.html" title="谷歌浏览器如何阻止GIF动图自动播放 Chrome插件控制GIF播放【性能】"><b></b>
    												<p class="overflowclass">谷歌浏览器如何阻止GIF动图自动播放 Chrome插件控制GIF播放【性能】</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-28 19:37</p>
    											</div>
    										</div>
    								</div>
    															</div>
    						
    						<div class="moreAi ">
    							<div class="rightdTitle flexRow">
    								<div class="title-left flexRow"> <b></b>
    									<p>热门AI工具</p>
    								</div>
    								<a target="_blank" class="rititle-more flexRow" href="/ai" title="热门AI工具"><span>更多</span><b></b></a>
    							</div>
    
    							<div class="moreailist flexRow">
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/723" title="DeepSeek" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679963982777.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="DeepSeek" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/723" title="DeepSeek" class="overflowclass abripone">DeepSeek</a>
    												<p class="overflowclass abriptwo">幻方量化公司旗下的开源大模型平台</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/chat" target="_blank">AI 聊天问答</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/726" title="豆包大模型" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175680204067325.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="豆包大模型" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/726" title="豆包大模型" class="overflowclass abripone">豆包大模型</a>
    												<p class="overflowclass abriptwo">字节跳动自主研发的一系列大型语言模型</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/code/large-model" target="_blank">AI大模型</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/725" title="通义千问" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974228210.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="通义千问" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/725" title="通义千问" class="overflowclass abripone">通义千问</a>
    												<p class="overflowclass abriptwo">阿里巴巴推出的全能AI助手</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/ai-agent" target="_blank">Agent智能体</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/854" title="腾讯元宝" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679978251103.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="腾讯元宝" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/854" title="腾讯元宝" class="overflowclass abripone">腾讯元宝</a>
    												<p class="overflowclass abriptwo">腾讯混元平台推出的AI助手</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/office/docs" target="_blank">文档处理</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/chat" target="_blank">AI 聊天问答</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/724" title="文心一言" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974557049.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="文心一言" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/724" title="文心一言" class="overflowclass abripone">文心一言</a>
    												<p class="overflowclass abriptwo">文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/text" target="_blank">AI 文本写作</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/1507" title="讯飞写作" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/969/633/68b7a4153cd86671.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="讯飞写作" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/1507" title="讯飞写作" class="overflowclass abripone">讯飞写作</a>
    												<p class="overflowclass abriptwo">基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/text" target="_blank">AI 文本写作</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/text/chinese-writing" target="_blank">中文写作</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/1115" title="即梦AI" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/001/246/273/68b6d8f7c530c315.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="即梦AI" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/1115" title="即梦AI" class="overflowclass abripone">即梦AI</a>
    												<p class="overflowclass abriptwo">一站式AI创作平台,免费AI图片和视频生成。</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/image/image-titching" target="_blank">图片拼接</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/image/image-create" target="_blank">图画生成</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/808" title="ChatGPT" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679970194596.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="ChatGPT" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/808" title="ChatGPT" class="overflowclass abripone">ChatGPT</a>
    												<p class="overflowclass abriptwo">最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/text" target="_blank">AI 文本写作</a>													</div>
    																							</div>
    										</div>
    									</div>
    																	<div class="aidcons flexRow   ">
    										<div   class="aibtns flexRow">
    											<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="aibtnsa flexRow" >
    												<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679976181507.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="智谱清言 - 免费全能的AI助手" class="aibtnimg" onerror="this.src='/static/lhimages/moren/morentu.png'">
    											</a>
    											<div class="aibtn-right flexColumn">
    												<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="overflowclass abripone">智谱清言 - 免费全能的AI助手</a>
    												<p class="overflowclass abriptwo">智谱清言 - 免费全能的AI助手</p>
    																									<div class="aidconstab flexRow">
    														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/ai-agent" target="_blank">Agent智能体</a>													</div>
    																							</div>
    										</div>
    									</div>
    															</div>
    						</div>
    
    					</div>
    
    
    				</div>
    
    
    			</div>
    			<div class="conRight artdtilRight ">
    				<div class="artrig-adv ">
                        <script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                    </div>
    				<div class="hotzt artdtzt">
    					<div class="rightdTitle flexRow">
    						<div class="title-left flexRow"> <b></b>
    							<p>相关专题</p>
    						</div>
    						<a target="_blank" class="rititle-more flexRow" href="/faq/zt" title="相关专题"><span>更多</span><b></b></a>
    					</div>
    					<div class="hotztuls flexColumn">
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/jsonsjgs" class="aClass flexRow hotzta" title="json数据格式"><img
    										src="https://img.php.cn/upload/subject/202308/07/2023080710392735942.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="json数据格式" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/jsonsjgs" class="aClass flexRow hotztra overflowclass" title="json数据格式">json数据格式</a>
    									<p class="aClass flexRow hotztrp overflowclass">JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">419</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.08.07</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/jsonssm" class="aClass flexRow hotzta" title="json是什么"><img
    										src="https://img.php.cn/upload/subject/202308/23/2023082309350584437.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="json是什么" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/jsonssm" class="aClass flexRow hotztra overflowclass" title="json是什么">json是什么</a>
    									<p class="aClass flexRow hotztrp overflowclass">JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">535</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.08.23</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/jqueryczjson" class="aClass flexRow hotzta" title="jquery怎么操作json"><img
    										src="https://img.php.cn/upload/subject/202310/13/2023101309503576727.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="jquery怎么操作json" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/jqueryczjson" class="aClass flexRow hotztra overflowclass" title="jquery怎么操作json">jquery怎么操作json</a>
    									<p class="aClass flexRow hotztrp overflowclass">操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">311</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.10.13</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/goyycljsonsjf" class="aClass flexRow hotzta" title="go语言处理json数据方法"><img
    										src="https://img.php.cn/upload/subject/202509/10/2025091014581868061.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="go语言处理json数据方法" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/goyycljsonsjf" class="aClass flexRow hotztra overflowclass" title="go语言处理json数据方法">go语言处理json数据方法</a>
    									<p class="aClass flexRow hotztrp overflowclass">本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">77</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2025.09.10</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/cnulldqb" class="aClass flexRow hotzta" title="c语言中null和NULL的区别"><img
    										src="https://img.php.cn/upload/subject/202309/22/2023092211494828457.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="c语言中null和NULL的区别" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/cnulldqb" class="aClass flexRow hotztra overflowclass" title="c语言中null和NULL的区别">c语言中null和NULL的区别</a>
    									<p class="aClass flexRow hotztrp overflowclass">c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">236</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.09.22</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/javaznulldyf" class="aClass flexRow hotzta" title="java中null的用法"><img
    										src="https://img.php.cn/upload/subject/202403/01/2024030110120176398.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="java中null的用法" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/javaznulldyf" class="aClass flexRow hotztra overflowclass" title="java中null的用法">java中null的用法</a>
    									<p class="aClass flexRow hotztrp overflowclass">在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">458</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2024.03.01</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/pdfzmzhcxmlgs" class="aClass flexRow hotzta" title="pdf怎么转换成xml格式"><img
    										src="https://img.php.cn/upload/subject/202404/01/2024040114325666773.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="pdf怎么转换成xml格式" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/pdfzmzhcxmlgs" class="aClass flexRow hotztra overflowclass" title="pdf怎么转换成xml格式">pdf怎么转换成xml格式</a>
    									<p class="aClass flexRow hotztrp overflowclass">将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">1900</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2024.04.01</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/xmlzmbcword" class="aClass flexRow hotzta" title="xml怎么变成word"><img
    										src="https://img.php.cn/upload/subject/202408/01/2024080117482029290.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="xml怎么变成word" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/xmlzmbcword" class="aClass flexRow hotztra overflowclass" title="xml怎么变成word">xml怎么变成word</a>
    									<p class="aClass flexRow hotztrp overflowclass">步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">2091</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2024.08.01</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/elsyandexyqrk" class="aClass flexRow hotzta" title="俄罗斯Yandex引擎入口"><img
    										src="https://img.php.cn/upload/subject/000/000/086/697991ee4eb4b777.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="俄罗斯Yandex引擎入口" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/elsyandexyqrk" class="aClass flexRow hotztra overflowclass" title="俄罗斯Yandex引擎入口">俄罗斯Yandex引擎入口</a>
    									<p class="aClass flexRow hotztrp overflowclass">2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">158</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2026.01.28</p>
    										</div>
    									</div>
    								</div>
    							</div>
    											</div>
    				</div>
    
    				<div class="hotdownload ">
    					<div class="rightdTitle flexRow">
    						<div class="title-left flexRow"> <b></b>
    							<p>热门下载</p>
    						</div>
    						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="热门下载"><span>更多</span><b></b></a>
    					</div>
    					<div class="hotdownTab">
    						<div class="hdTabs flexRow">
    							<div class="check" data-id="onef">网站特效 <b></b> </div> /
    							<div class="" data-id="twof">网站源码 <b></b></div> /
    							<div class="" data-id="threef">网站素材 <b></b></div> /
    							<div class="" data-id="fourf">前端模板 <b></b></div>
    						</div>
    						<ul class="onef">
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jquery图片裁剪效果代码" href="/xiazai/js/8703"><span>[图片特效]</span><span>jquery图片裁剪效果代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="代码雨背景用户注册表单代码" href="/xiazai/js/8702"><span>[表单按钮]</span><span>代码雨背景用户注册表单代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="vue.js图片相册幻灯片实例下载" href="/xiazai/js/8701"><span>[图片特效]</span><span>vue.js图片相册幻灯片实例下载</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jQuery自动填充表单功能代码" href="/xiazai/js/8700"><span>[表单按钮]</span><span>jQuery自动填充表单功能代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="基于ThreeJs的3D图片相册插件" href="/xiazai/js/8699"><span>[图片特效]</span><span>基于ThreeJs的3D图片相册插件</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="JS登录和注册表单动画切换特效" href="/xiazai/js/8698"><span>[表单按钮]</span><span>JS登录和注册表单动画切换特效</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jquery鼠标经过图片抖动" href="/xiazai/js/8697"><span>[图片特效]</span><span>jquery鼠标经过图片抖动</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="Vue记事本添加删除特效" href="/xiazai/js/8696"><span>[表单按钮]</span><span>Vue记事本添加删除特效</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jquery多张叠加图片上下切换代码" href="/xiazai/js/8695"><span>[图片特效]</span><span>jquery多张叠加图片上下切换代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="支持弹出图片文字和表单模态框代码" href="/xiazai/js/8694"><span>[表单按钮]</span><span>支持弹出图片文字和表单模态框代码</span></a>
    									</div>
    								</li>
    													</ul>
    						<ul class="twof" style="display:none;">
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11355" title="openaishop"><span>[电商源码]</span><span>openaishop</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11354" title="思翔企(事)业单位文件柜 build 20080313"><span>[其它模板]</span><span>思翔企(事)业单位文件柜 build 20080313</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11353" title="雅龙智能装备工业设备类WordPress主题1.0"><span>[企业站源码]</span><span>雅龙智能装备工业设备类WordPress主题1.0</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11352" title="威发卡自动发卡系统"><span>[电商源码]</span><span>威发卡自动发卡系统</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11351" title="卡密分发系统"><span>[电商源码]</span><span>卡密分发系统</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11350" title="中华陶瓷网"><span>[电商源码]</span><span>中华陶瓷网</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11349" title="简洁粉色食品公司网站"><span>[电商源码]</span><span>简洁粉色食品公司网站</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11348" title="极速网店系统"><span>[电商源码]</span><span>极速网店系统</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11347" title="淘宝妈妈_淘客推广系统"><span>[电商源码]</span><span>淘宝妈妈_淘客推广系统</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/11346" title="积客B2SCMS商城系统"><span>[电商源码]</span><span>积客B2SCMS商城系统</span> </a>
    									</div>
    								</li>
    													</ul>
    						<ul class="threef" style="display:none;">
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4294" title="手绘海鲜鱼虾食材合集矢量素材"><span>[网站素材]</span><span>手绘海鲜鱼虾食材合集矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4293" title="开学季主题宣传海报设计模板下载"><span>[网站素材]</span><span>开学季主题宣传海报设计模板下载</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4292" title="2026马年金色徽章矢量模板"><span>[网站素材]</span><span>2026马年金色徽章矢量模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4291" title="汉堡美食INS海报模板设计素材下载"><span>[网站素材]</span><span>汉堡美食INS海报模板设计素材下载</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4290" title="新中式黑金山水线条矢量素材"><span>[网站素材]</span><span>新中式黑金山水线条矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4289" title="马年新年装饰图案合集矢量素材"><span>[网站素材]</span><span>马年新年装饰图案合集矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4288" title="极简线条披萨餐厅菜单矢量模板"><span>[网站素材]</span><span>极简线条披萨餐厅菜单矢量模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4287" title="美味披萨INS宣传模板设计下载"><span>[网站素材]</span><span>美味披萨INS宣传模板设计下载</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4286" title="新春喜庆烟花装饰合集矢量素材"><span>[网站素材]</span><span>新春喜庆烟花装饰合集矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4285" title="摩托机车宣传海报设计源文件下载"><span>[网站素材]</span><span>摩托机车宣传海报设计源文件下载</span> </a>
    									</div>
    								</li>
    													</ul>
    						<ul class="fourf" style="display:none;">
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8590"  title="驾照考试驾校HTML5网站模板"><span>[前端模板]</span><span>驾照考试驾校HTML5网站模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8589"  title="驾照培训服务机构宣传网站模板"><span>[前端模板]</span><span>驾照培训服务机构宣传网站模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8588"  title="HTML5房地产公司宣传网站模板"><span>[前端模板]</span><span>HTML5房地产公司宣传网站模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8587"  title="新鲜有机肉类宣传网站模板"><span>[前端模板]</span><span>新鲜有机肉类宣传网站模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8586"  title="响应式天气预报宣传网站模板"><span>[前端模板]</span><span>响应式天气预报宣传网站模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8585"  title="房屋建筑维修公司网站CSS模板"><span>[前端模板]</span><span>房屋建筑维修公司网站CSS模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8584"  title="响应式志愿者服务网站模板"><span>[前端模板]</span><span>响应式志愿者服务网站模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8583"  title="创意T恤打印店网站HTML5模板"><span>[前端模板]</span><span>创意T恤打印店网站HTML5模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8582"  title="网页开发岗位简历作品展示网页模板"><span>[前端模板]</span><span>网页开发岗位简历作品展示网页模板</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/code/8581"  title="响应式人力资源机构宣传网站模板"><span>[前端模板]</span><span>响应式人力资源机构宣传网站模板</span> </a>
    									</div>
    								</li>
    													</ul>
    					</div>
    					<script>
    						$('.hdTabs>div').click(function (e) {
    							$('.hdTabs>div').removeClass('check')
    							$(this).addClass('check')
    							$('.hotdownTab>ul').css('display', 'none')
    							$('.' + e.currentTarget.dataset.id).show()
    						})
    					</script>
    
    				</div>
    
    				<div class="artrig-adv ">
    					<script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                    </div>
    
    
    
    				<div class="xgarts ">
    					<div class="rightdTitle flexRow">
    						<div class="title-left flexRow"> <b></b>
    							<p>相关下载</p>
    						</div>
    						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="相关下载"><span>更多</span><b></b></a>
    					</div>
    					<div class="xgwzlist ">
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php商城系统" href="/xiazai/code/11178">php商城系统</a></div>
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="淘源码商城PHP淘宝查信誉" href="/xiazai/code/11177">淘源码商城PHP淘宝查信誉</a></div>
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP房产程序[BBWPS]" href="/xiazai/code/11165">PHP房产程序[BBWPS]</a></div>
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP简约自动发卡平台个人版" href="/xiazai/code/11128">PHP简约自动发卡平台个人版</a></div>
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="ERMEB域名PHP离线网络授权系统" href="/xiazai/code/11040">ERMEB域名PHP离线网络授权系统</a></div>
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Difeye-敏捷的轻量级PHP框架" href="/xiazai/code/11037">Difeye-敏捷的轻量级PHP框架</a></div>
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="大泉州汽车网PHP整站程序" href="/xiazai/code/10963">大泉州汽车网PHP整站程序</a></div>
    										</div>
    
    				</div>
    
    				<div class="jpkc">
    					<div class="rightdTitle flexRow">
    						<div class="title-left flexRow"> <b></b>
    							<p>精品课程</p>
    						</div>
    						<a class="rititle-more flexRow" target="_blank" href="/course/sort_new.html" title="精品课程"><span>更多</span><b></b></a>
    					</div>
    					<div class=" jpkcTab">
    						<div class=" jpkcTabs flexRow">
    							<div class="check" data-id="onefd">相关推荐 <b></b> </div> /
    							<div class="" data-id="twofd">热门推荐 <b></b></div> /
    							<div class="" data-id="threefd">最新课程 <b></b></div>
    						</div>
    						<div class="onefd jpktabd">
    													<div  class="ristyA flexRow " >
    								<a target="_blank" href="/course/1649.html" title="Swoole5 Hyperf3 php8新版本协程框架讲说">
    									<img src="https://img.php.cn/upload/course/000/000/067/6641ad56af4c9674.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Swoole5 Hyperf3 php8新版本协程框架讲说" class="ristyAimg"
    										onerror="this.src='/static/mobimages/moren/morentu.png'">
    								</a>
    								<div class="ristyaRight flexColumn">
    									<a target="_blank" href="/course/1649.html" title="Swoole5 Hyperf3 php8新版本协程框架讲说"
    										class="rirightp overflowclass">Swoole5 Hyperf3 php8新版本协程框架讲说</a>
    
    									<div class="risrdown flexRow">
    										<p>共37课时 | 1.8万人学习</p>
    									</div>
    								</div>
    							</div>
    													<div  class="ristyA flexRow " >
    								<a target="_blank" href="/course/1648.html" title="【web前端】Node.js快速入门">
    									<img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="【web前端】Node.js快速入门" class="ristyAimg"
    										onerror="this.src='/static/mobimages/moren/morentu.png'">
    								</a>
    								<div class="ristyaRight flexColumn">
    									<a target="_blank" href="/course/1648.html" title="【web前端】Node.js快速入门"
    										class="rirightp overflowclass">【web前端】Node.js快速入门</a>
    
    									<div class="risrdown flexRow">
    										<p>共16课时 | 2万人学习</p>
    									</div>
    								</div>
    							</div>
    													<div  class="ristyA flexRow " >
    								<a target="_blank" href="/course/1646.html" title="Go语言实战之 GraphQL">
    									<img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Go语言实战之 GraphQL" class="ristyAimg"
    										onerror="this.src='/static/mobimages/moren/morentu.png'">
    								</a>
    								<div class="ristyaRight flexColumn">
    									<a target="_blank" href="/course/1646.html" title="Go语言实战之 GraphQL"
    										class="rirightp overflowclass">Go语言实战之 GraphQL</a>
    
    									<div class="risrdown flexRow">
    										<p>共10课时 | 0.8万人学习</p>
    									</div>
    								</div>
    							</div>
    												</div>
    
    						<div class="twofd jpktabd" style="display:none;">
    															<div  class="ristyA flexRow " >
    									<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
    										<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
    											onerror="this.src='/static/mobimages/moren/morentu.png'">
    									</a>
    									<div class="ristyaRight flexColumn">
    										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
    											class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>
    
    										<div class="risrdown flexRow">
    											<p>共6课时 | 11.2万人学习</p>
    										</div>
    									</div>
    								</div>
    															<div  class="ristyA flexRow " >
    									<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)">
    										<img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" class="ristyAimg"
    											onerror="this.src='/static/mobimages/moren/morentu.png'">
    									</a>
    									<div class="ristyaRight flexColumn">
    										<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)"
    											class="rirightp overflowclass">最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)</a>
    
    										<div class="risrdown flexRow">
    											<p>共79课时 | 151.7万人学习</p>
    										</div>
    									</div>
    								</div>
    															<div  class="ristyA flexRow " >
    									<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程">
    										<img src="https://img.php.cn/upload/course/000/000/068/62611ef88fcec821.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="phpStudy极速入门视频教程" class="ristyAimg"
    											onerror="this.src='/static/mobimages/moren/morentu.png'">
    									</a>
    									<div class="ristyaRight flexColumn">
    										<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程"
    											class="rirightp overflowclass">phpStudy极速入门视频教程</a>
    
    										<div class="risrdown flexRow">
    											<p>共6课时 | 53.4万人学习</p>
    										</div>
    									</div>
    								</div>
    													</div>
    
    						<div class="threefd jpktabd" style="display:none;">
    															<div  class="ristyA flexRow " >
    										<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通">
    											<img src="https://img.php.cn/upload/course/000/000/081/68c135bb72783194.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新Python教程 从入门到精通" class="ristyAimg"
    												onerror="this.src='/static/mobimages/moren/morentu.png'">
    										</a>
    										<div class="ristyaRight flexColumn">
    											<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通"
    												class="rirightp overflowclass">最新Python教程 从入门到精通</a>
    
    											<div class="risrdown flexRow">
    												<p>共4课时 | 22.3万人学习</p>
    											</div>
    										</div>
    									</div>
    																<div  class="ristyA flexRow " >
    										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
    											<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
    												onerror="this.src='/static/mobimages/moren/morentu.png'">
    										</a>
    										<div class="ristyaRight flexColumn">
    											<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
    												class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>
    
    											<div class="risrdown flexRow">
    												<p>共6课时 | 11.2万人学习</p>
    											</div>
    										</div>
    									</div>
    																<div  class="ristyA flexRow " >
    										<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学">
    											<img src="https://img.php.cn/upload/course/000/000/081/684a8c23d811b293.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP新手语法线上课程教学" class="ristyAimg"
    												onerror="this.src='/static/mobimages/moren/morentu.png'">
    										</a>
    										<div class="ristyaRight flexColumn">
    											<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学"
    												class="rirightp overflowclass">PHP新手语法线上课程教学</a>
    
    											<div class="risrdown flexRow">
    												<p>共13课时 | 0.9万人学习</p>
    											</div>
    										</div>
    									</div>
    														</div>
    						<script>
    							$('.jpkcTabs>div').click(function (e) {
    								$('.jpkcTabs>div').removeClass('check')
    								$(this).addClass('check')
    								$('.jpkcTab .jpktabd').css('display', 'none')
    								$('.' + e.currentTarget.dataset.id).show()
    							})
    						</script>
    
    					</div>
    				</div>
    
    				<div class="zxarts ">
    					<div class="rightdTitle flexRow">
    						<div class="title-left flexRow"> <b></b>
    							<p>最新文章</p>
    						</div>
    						<a class="rititle-more flexRow" href="" title="最新文章" target="_blank"><span>更多</span><b></b></a>
    					</div>
    					<div class="xgwzlist ">
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="在上传的XML文件中查找和替换内容 Java/Python脚本" href="/faq/2042038.html">在上传的XML文件中查找和替换内容 Java/Python脚本</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Python如何将CSV文件转换为XML格式" href="/faq/2042010.html">Python如何将CSV文件转换为XML格式</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Excel数据如何转换为复杂的XML结构?" href="/faq/2042008.html">Excel数据如何转换为复杂的XML结构?</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="XML命名空间是什么 如何用它来避免元素名称冲突" href="/faq/2041992.html">XML命名空间是什么 如何用它来避免元素名称冲突</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PowerShell如何从XML文件中导出数据到CSV" href="/faq/2041916.html">PowerShell如何从XML文件中导出数据到CSV</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title=".dtsx文件是什么 如何理解SSIS包的XML结构" href="/faq/2041907.html">.dtsx文件是什么 如何理解SSIS包的XML结构</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Open Policy Agent (OPA) 如何为XML上传接口定义访问策略" href="/faq/2041892.html">Open Policy Agent (OPA) 如何为XML上传接口定义访问策略</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Postman如何测试XML上传接口 Postman发送form-data和raw XML" href="/faq/2041843.html">Postman如何测试XML上传接口 Postman发送form-data和raw XML</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Three.js/Babylon.js如何加载上传的X3D/Collada格式XML" href="/faq/2041834.html">Three.js/Babylon.js如何加载上传的X3D/Collada格式XML</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP中XMLWriter怎么用 流式生成XML文件" href="/faq/2039097.html">PHP中XMLWriter怎么用 流式生成XML文件</a></div>
    											</div>
    
    				</div>
    
    
    
    
    
    
    			</div>
    
    
    
    		</div>
    
    	</div>
    	<!--底部-->
    	<div class="phpFoot">
        <div class="phpFootIn">
            <div class="phpFootCont">
                <div class="phpFootLeft">
                    <dl>
                        <dt>
                            <a target="_blank"  href="/about/us.html" rel="nofollow"  title="关于我们" class="cBlack">关于我们</a>
                            <a target="_blank"  href="/about/disclaimer.html" rel="nofollow"  title="免责申明" class="cBlack">免责申明</a>
                            <a target="_blank"  href="/about/jbzx.html" rel="nofollow"  title="举报中心" class="cBlack">举报中心</a>
                            <a   href="javascript:;" rel="nofollow" onclick="advice_data(99999999,'意见反馈')"   title="意见反馈" class="cBlack">意见反馈</a>
                            <a target="_blank"  href="https://www.php.cn/teacher.html" rel="nofollow"   title="讲师合作" class="cBlack">讲师合作</a>
                            <a  target="_blank" href="https://www.php.cn/blog/detail/20304.html" rel="nofollow"  title="广告合作" class="cBlack">广告合作</a>
                            <a  target="_blank" href="/new/"    title="最新文章列表" class="cBlack">最新更新</a>
                                                    <div class="clear"></div>
                        </dt>
                        <dd class="cont1">php中文网:公益在线php培训,帮助PHP学习者快速成长!</dd>
                        <dd class="cont2">
                          <span class="ylwTopBox">
                            <a   href="javascript:;"  class="cBlack"><b class="icon1"></b>关注服务号</a>
                            <em style="display:none;" class="ylwTopSub">
                              <p>微信扫码<br/>关注PHP中文网服务号</p>
                              <img src="/static/images/examples/text16.png"/>
                            </em>
                          </span>
                            <span class="ylwTopBox">
                            <a   href="tencent://message/?uin=27220243&Site=www.php.cn&Menu=yes"  class="cBlack"><b class="icon2"></b>技术交流群</a>
                            <em style="display:none;" class="ylwTopSub">
                              <p>QQ扫码<br/>加入技术交流群</p>
                              <img src="/static/images/examples/text18.png"/>
                            </em>
                          </span>
                            <div class="clear"></div>
                        </dd>
                    </dl>
                    
                </div>
                <div class="phpFootRight">
                    <div class="phpFootMsg">
                        <span><img src="/static/images/examples/text17.png"/></span>
                        <dl>
                            <dt>PHP中文网订阅号</dt>
                            <dd>每天精选资源文章推送</dd>
                        </dl>
                    </div>
                </div>
            </div>
        </div>
        <div class="phpFootCode">
            <div class="phpFootCodeIn"><p>Copyright 2014-2026 <a   href="https://www.php.cn/" >https://www.php.cn/</a> All Rights Reserved | php.cn | <a   href="https://beian.miit.gov.cn/" rel="nofollow" >湘ICP备2023035733号</a></p><a   href="http://www.beian.gov.cn/portal/index.do" rel="nofollow" ><b></b></a></div>
        </div>
    </div>
    <input type="hidden" id="verifycode" value="/captcha.html">
    <script>
        var _hmt = _hmt || [];
        (function() {
            var hm = document.createElement("script");
            hm.src = "https://hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(hm, s);
        })();
    </script>
    <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script>
    
    <span class="layui-hide"><script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1280886301&web_id=1280886301"></script></span>
    
    <script src="/static/js/cdn.js?v=1.0.1"></script>
    
    
    
    	<!--底部 end-->
    	<!-- content -->
    	<!--
        <div class="phpFudong">
            <div class="phpFudongIn">
                <div class="phpFudongImg"></div>
                <div class="phpFudongXue">登录PHP中文网,和优秀的人一起学习!</div>
                <div class="phpFudongQuan">全站<span>2000+</span>教程免费学</div>
                <div class="phpFudongCode"><a   href="javascript:;" id="login" title="微信扫码登录">微信扫码登录</a></div>
                <div class="phpGuanbi" onclick="$('.phpFudong').hide();"></div>
                <div class="clear"></div>
            </div>
        </div>
    -->	<!--底部浮动层 end-->
    	<!--侧导航-->
    	<style>
        .layui-fixbar{display: none;}
    </style>
    <div class="phpSdhBox" style="height:240px !important;">
        <li>
            <div class="phpSdhIn">
                <div class="phpSdhTitle">
                    <a   href="/k24.html"  class="hover" title="PHP学习">
                        <b class="icon1"></b>
                        <p>PHP学习</p>
                    </a>
                </div>
            </div>
        </li>
        <li>
            <div class="phpSdhIn">
                <div class="phpSdhTitle">
                    <a   href="https://www.php.cn/blog/detail/1047189.html" >
                        <b class="icon2"></b>
                        <p>技术支持</p>
                    </a>
                </div>
            </div>
        </li>
        <li>
            <div class="phpSdhIn">
                <div class="phpSdhTitle">
                    <a   href="#">
                        <b class="icon6"></b>
                        <p>返回顶部</p>
                    </a>
                </div>
            </div>
        </li>
    </div>
    	</body>
    
    </html>
    
    <script type="text/javascript" src="/hitsUp?type=article&id=1440347&time=1769646306">
    </script>
    <script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1769646306"></script>
    <script>
    	article_status = "1522180";
    </script>
    <input type="hidden" id="verifycode" value="/captcha.html">
    <script type="text/javascript" src="/static/js/global.min.js?5.5.33"></script>
    <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
    <script type='text/javascript' src='/static/js/viewer.min.js?1'></script>
    <script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script>
    <script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
    <script>var _hmt = _hmt || [];(function(){var hm = document.createElement("script");hm.src="//hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();(function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if(curProtocol === 'https'){bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';}else{bp.src = 'http://push.zhanzhang.baidu.com/push.js';};var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();</script>
    	
    
    <script>
    	function setCookie(name, value, iDay) { //name相当于键,value相当于值,iDay为要设置的过期时间(天)
    		var oDate = new Date();
    		oDate.setDate(oDate.getDate() + iDay);
    		document.cookie = name + '=' + value + ';path=/;domain=.php.cn;expires=' + oDate;
    	}
    
    	function getCookie(name) {
    		var cookieArr = document.cookie.split(";");
    		for (var i = 0; i < cookieArr.length; i++) {
    			var cookiePair = cookieArr[i].split("=");
    			if (name == cookiePair[0].trim()) {
    				return decodeURIComponent(cookiePair[1]);
    			}
    		}
    		return null;
    	}
    </script>
    
    
    <!-- Matomo -->
    <script>
    	var _paq = window._paq = window._paq || [];
    	/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
    	_paq.push(['trackPageView']);
    	_paq.push(['enableLinkTracking']);
    	(function () {
    		var u = "https://tongji.php.cn/";
    		_paq.push(['setTrackerUrl', u + 'matomo.php']);
    		_paq.push(['setSiteId', '7']);
    		var d = document,
    			g = d.createElement('script'),
    			s = d.getElementsByTagName('script')[0];
    		g.async = true;
    		g.src = u + 'matomo.js';
    		s.parentNode.insertBefore(g, s);
    	})();
    </script>
    <!-- End Matomo Code -->
    
    <script>
    	setCookie('is_article', 1, 1);
    </script>
    
    <script>
    	var is_login = "0";
            var show = 0;
            var ceng = getCookie('ceng');
            //未登录复制显示登录按钮
            if(is_login == 0 && false){
                $(".code").hover(function(){
                    $(this).find('.contentsignin').show();
                },function(){
                    $(this).find('.contentsignin').hide();
                });
                //不给复制
                $('.code').bind("cut copy paste",function(e) {
                    e.preventDefault();
                });
                $('.code .contentsignin').click(function(){
                    $(document).trigger("api.loginpopbox");
                })
            }else{
                // 获取所有的 <pre> 元素
                var preElements = document.querySelectorAll('pre');
                preElements.forEach(function(preElement) {
                    // 创建复制按钮
                    var copyButton = document.createElement('button');
                    copyButton.className = 'copy-button';
                    copyButton.textContent = '复制';
                    // 添加点击事件处理程序
                    copyButton.addEventListener('click', function() {
                        // 获取当前按钮所属的 <pre> 元素中的文本内容
                        var textContent = preElement.textContent.trim();
                        // 创建一个临时 textarea 元素并设置其值为 <pre> 中的文本内容
                        var tempTextarea = document.createElement('textarea');
                        tempTextarea.value = textContent;
                        // 将临时 textarea 添加到文档中
                        document.body.appendChild(tempTextarea);
                        // 选中临时 textarea 中的文本内容并执行复制操作
                        tempTextarea.select();
                        document.execCommand('copy');
                        // 移除临时 textarea 元素
                        document.body.removeChild(tempTextarea);
                        // 更新按钮文本为 "已复制"
                        this.textContent = '已复制';
                    });
    
                    // 创建AI写代码按钮
                    var aiButton = document.createElement('button');
                    aiButton.className = 'copy-button';
                    aiButton.textContent = 'AI写代码';
                    aiButton.style.marginLeft = '5px';
                    aiButton.style.marginRight = '5px';
                    // 添加点击事件处理程序
                    aiButton.addEventListener('click', function() {
                    // Generate a random number between 0 and 1
                            var randomChance = Math.random();
    
                        // If the random number is less than 0.5, open the first URL, else open the second
                        if (randomChance < 0.5) {
                            window.open('https://www.doubao.com/chat/coding?channel=php&source=hw_db_php', '_blank');
                        } else {
                            window.open('https://click.aliyun.com/m/1000402709/', '_blank');
                        }
                    });
    
                    // 将按钮添加到 <pre> 元素前面
                    preElement.parentNode.insertBefore(copyButton, preElement);
                    preElement.parentNode.insertBefore(aiButton, preElement);
            });
            }
    </script>