亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) php教程 php手冊(cè) PHP的XML分析函數(shù)(轉(zhuǎn))?。ń榻B這個(gè)PHP里的XML分析函數(shù)的文章可不太有哦。。 看過這篇就應(yīng)該清楚點(diǎn)了吧...

PHP的XML分析函數(shù)(轉(zhuǎn))?。ń榻B這個(gè)PHP里的XML分析函數(shù)的文章可不太有哦。。 看過這篇就應(yīng)該清楚點(diǎn)了吧...

Jun 21, 2016 am 09:12 AM
element nbsp quot xml

xml|函數(shù)

PHP的XML分析函數(shù)

首先我得承認(rèn)我喜歡計(jì)算機(jī)標(biāo)準(zhǔn)。如果每個(gè)人都遵從這個(gè)行業(yè)的標(biāo)準(zhǔn),互聯(lián)網(wǎng)將會(huì)是一個(gè)更好的媒體。使用標(biāo)準(zhǔn)化的數(shù)據(jù)交換格式才能使開放的和獨(dú)立于平臺(tái)的計(jì)算模式切實(shí)可行。這就是我作為XML愛好者的原因。

幸運(yùn)的是,我最喜愛的腳本語(yǔ)言不但支持XML而且對(duì)其支持正不斷加強(qiáng)。PHP可以讓我迅速將XML文檔發(fā)布到互聯(lián)網(wǎng)上,收集XML文檔的統(tǒng)計(jì)信息,將XML文檔轉(zhuǎn)換成其它格式。例如,我時(shí)常用PHP的XML處理能力來(lái)管理我用XML所寫的文章和書。

本文中,我將討論任何用PHP內(nèi)建的Expat解析器來(lái)處理XML文檔。通過范例,我將演示Expat的處理方法。同時(shí),范例可以告訴你如何:

建立你自己的處理函數(shù)??
將XML文檔轉(zhuǎn)換成你自己的PHP數(shù)據(jù)結(jié)構(gòu)

介紹Expat

XML的解析器,同樣稱為XML處理器,可以使程序訪問XML文檔的結(jié)構(gòu)和內(nèi)容。Expat是PHP腳本語(yǔ)言的XML解析器。它同時(shí)也運(yùn)用在其它項(xiàng)目中,例如Mozilla、Apache和Perl。

什么是基于事件的解析器?

XML解析器的兩種基本類型:

基于樹型的解析器:將XML文檔轉(zhuǎn)換成樹型結(jié)構(gòu)。這類解析器分析整篇文章,同時(shí)提供一個(gè)API來(lái)訪問所產(chǎn)生樹的每個(gè)元素。其通用的標(biāo)準(zhǔn)為DOM(文檔對(duì)象模式)。??
基于事件的解析器:將XML文檔視為一系列的事件。當(dāng)一個(gè)特殊事件發(fā)生時(shí),解析器將調(diào)用開發(fā)者提供的函數(shù)來(lái)處理。??
基于事件的解析器有一個(gè)XML文檔的數(shù)據(jù)集中視圖,也就是說(shuō)它集中在XML文檔的數(shù)據(jù)部分,而不是其結(jié)構(gòu)。這些解析器從頭到尾處理文檔,并將類似于-元素的開始、元素的結(jié)尾、特征數(shù)據(jù)的開始等等-事件通過回調(diào)(callback)函數(shù)報(bào)告給應(yīng)用程序。以下是一個(gè)"Hello-World"的XML文檔范例:

??
Hello World??
??

基于事件的解析器將報(bào)告為三個(gè)事件:

開始元素:greeting??
CDATA項(xiàng)的開始,值為:Hello World??
結(jié)束元素:greeting??
不像基于樹型的解析器,基于事件的解析器不產(chǎn)生描述文檔的結(jié)構(gòu)。在CDATA項(xiàng)中,基于事件的解析器不會(huì)讓你得到父元素greeting的信息。
然而,它提供一個(gè)更底層的訪問,這就使得可以更好地利用資源和更快地訪問。通過這種方式,就沒有必要將整個(gè)文檔放入內(nèi)存;而事實(shí)上,整個(gè)文檔甚至可以大于實(shí)際內(nèi)存值。


Expat就是這樣的一種基于事件的解析器。當(dāng)然如果使用Expat,必要時(shí)它一樣可以在PHP中生成完全的原生樹結(jié)構(gòu)。


上面Hello-World的范例包括完整的XML格式。但它是無(wú)效的,因?yàn)榧葲]有DTD(文檔類型定義)與其聯(lián)系,也沒有內(nèi)嵌DTD。


對(duì)于Expat,這并沒有區(qū)別:Expat是一個(gè)不檢查有效性的解析器,因此忽略任何與文檔聯(lián)系的DTD。但應(yīng)注意的是文檔仍然需要完整的格式,否則Expat(和其他符合XML標(biāo)準(zhǔn)的解析器一樣)將會(huì)隨著出錯(cuò)信息而停止。


作為不檢查有效性的解析器,Exapt的快速性和輕巧性使其十分適合互聯(lián)網(wǎng)程序。


編譯Expat

Expat可以編譯進(jìn)PHP3.0.6版本(或以上)中。從Apache1.3.9開始,Expat已經(jīng)作為Apache的一部分。在Unix系統(tǒng)中,通過-with-xml選項(xiàng)配置PHP,你可以將其編譯入PHP。


如果你將PHP編譯為Apache的模塊,而Expat將默認(rèn)作為Apache的一部分。在Windows中,你則必須要加載XML動(dòng)態(tài)連接庫(kù)。

XML范例:XMLstats

了解Expat的函數(shù)的一個(gè)辦法就是通過范例。我們所要討論的范例是使用Expat來(lái)收集XML文檔的統(tǒng)計(jì)數(shù)據(jù)。


對(duì)于文檔中每個(gè)元素,以下信息都將被輸出:

該元素在文檔中使用的次數(shù)??
該元素中字符數(shù)據(jù)的數(shù)量??
元素的父元素??
元素的子元素??
注意:為了演示,我們利用PHP來(lái)產(chǎn)生一個(gè)結(jié)構(gòu)來(lái)保存元素的父元素和子元素

準(zhǔn)備

用于產(chǎn)生XML解析器實(shí)例的函數(shù)為xml_parser_create()。該實(shí)例將用于以后的所有函數(shù)。這個(gè)思路非常類似于PHP中MySQL函數(shù)的連接標(biāo)記。在解析文檔前,基于事件的解析器通常要求你注冊(cè)回調(diào)函數(shù)-用于特定的事件發(fā)生時(shí)調(diào)用。Expat沒有例外事件,它定義了如下七個(gè)可能事件:


對(duì)象 XML解析函數(shù) 描述

元素 xml_set_element_handler() 元素的開始和結(jié)束

字符數(shù)據(jù) xml_set_character_data_handler() 字符數(shù)據(jù)的開始

外部實(shí)體 xml_set_external_entity_ref_handler() 外部實(shí)體出現(xiàn)

未解析外部實(shí)體 xml_set_unparsed_entity_decl_handler() 未解析的外部實(shí)體出現(xiàn)

處理指令 xml_set_processing_instruction_handler() 處理指令的出現(xiàn)

記法聲明 xml_set_notation_decl_handler() 記法聲明的出現(xiàn)

默認(rèn) xml_set_default_handler() 其它沒有指定處理函數(shù)的事件

所有的回調(diào)函數(shù)必須將解析器的實(shí)例作為其第一個(gè)參數(shù)(此外還有其它參數(shù))。


對(duì)于本文最后的范例腳本。你需要注意的是它既用到了元素處理函數(shù)又用到了字符數(shù)據(jù)處理函數(shù)。元素的回調(diào)處理函數(shù)通過xml_set_element_handler()來(lái)注冊(cè)。


這個(gè)函數(shù)需要三個(gè)參數(shù):

解析器的實(shí)例??
處理開始元素的回調(diào)函數(shù)的名稱??
處理結(jié)束元素的回調(diào)函數(shù)的名稱??
當(dāng)開始解析XML文檔時(shí),回調(diào)函數(shù)必須存在。它們必須定義為與PHP手冊(cè)中所描述的原型一致。


例如,Expat將三個(gè)參數(shù)傳遞給開始元素的處理函數(shù)。在腳本范例中,其定義如下:


function start_element($parser, $name, $attrs)??


第一個(gè)參數(shù)是解析器標(biāo)示,第二個(gè)參數(shù)是開始元素的名稱,第三參數(shù)為包含元素所有屬性和值的數(shù)組。


一旦你開始解析XML文檔,Expat在遇到開始元素是都將調(diào)用你的start_element()函數(shù)并將參數(shù)傳遞過去。


XML的Case Folding選項(xiàng)

用xml_parser_set_option()函數(shù)將Case folding選項(xiàng)關(guān)閉。這個(gè)選項(xiàng)默認(rèn)是打開的,使得傳遞給處理函數(shù)的元素名自動(dòng)轉(zhuǎn)換為大寫。但XML對(duì)大小寫是敏感的(所以大小寫對(duì)統(tǒng)計(jì)XML文檔是非常重要的)。對(duì)于我們的范例,case folding選項(xiàng)必須關(guān)閉。


解析文檔

在完成所有的準(zhǔn)備工作后,現(xiàn)在腳本終于可以解析XML文檔:

Xml_parse_from_file(),一個(gè)自定義的函數(shù),打開參數(shù)中指定的文件,并以4kb的大小進(jìn)行解析??
xml_parse()和xml_parse_from_file()一樣,當(dāng)發(fā)生錯(cuò)誤時(shí),即XML文檔的格式不完全時(shí),將會(huì)返回false。??
你可以使用xml_get_error_code()函數(shù)來(lái)得到最后一個(gè)錯(cuò)誤的數(shù)字代碼。將此數(shù)字代碼傳遞給xml_error_string()函數(shù)即可得到錯(cuò)誤的文本信息。??
輸出XML當(dāng)前的行數(shù),使得調(diào)試更容易。??
在解析的過程中,調(diào)用回調(diào)函數(shù)。??
描述文檔結(jié)構(gòu)

當(dāng)解析文檔時(shí),對(duì)于Expat需要強(qiáng)調(diào)問題的是:如何保持文檔結(jié)構(gòu)的基本描述?


如前所述,基于事件的解析器本身并不產(chǎn)生任何結(jié)構(gòu)信息。


不過標(biāo)簽(tag)結(jié)構(gòu)是XML的重要特性。例如,元素序列表示的意思不同于<figure><title>。也就是說(shuō),任何作者都會(huì)告訴你書名和圖名是沒有關(guān)系的,雖然它們都用到"title"這個(gè)術(shù)語(yǔ)。因此,為了更有效地使用基于事件的解析器處理XML,你必須使用自己的棧(stacks)或列表(lists)來(lái)維護(hù)文檔的結(jié)構(gòu)信息。 <br><br><br>為了產(chǎn)生文檔結(jié)構(gòu)的鏡像,腳本至少需要知道目前元素的父元素。用Exapt的API是無(wú)法實(shí)現(xiàn)的,它只報(bào)告目前元素的事件,而沒有任何前后關(guān)系的信息。因此,你需要建立自己的棧結(jié)構(gòu)。 <br><br><br>腳本范例使用先進(jìn)后出(FILO)的棧結(jié)構(gòu)。通過一個(gè)數(shù)組,棧將保存全部的開始元素。對(duì)于開始元素處理函數(shù),目前的元素將被array_push()函數(shù)推到棧的頂部。相應(yīng)的,結(jié)束元素處理函數(shù)通過array_pop()將最頂?shù)脑匾谱摺?<br><br><br>對(duì)于序列<book><title>,棧的填充如下:

開始元素book:將"book"賦給棧的第一個(gè)元素($stack[0])。??
開始元素title:將"title"賦給棧的頂部($stack[1])。??
結(jié)束元素title:從棧中將最頂部的元素移去($stack[1])。??
結(jié)束元素title:從棧中將最頂部的元素移去($stack[0])。??
PHP3.0通過一個(gè)$depth變量手動(dòng)控制元素的嵌套來(lái)實(shí)現(xiàn)范例。這就使腳本看起來(lái)比較復(fù)雜。PHP4.0通過array_pop()和array_push()兩個(gè)函數(shù)來(lái)使腳本看起來(lái)更簡(jiǎn)潔。


收集數(shù)據(jù)

為了收集每個(gè)元素的信息,腳本需要記住每個(gè)元素的事件。通過使用一個(gè)全局的數(shù)組變量$elements來(lái)保存文檔中所有不同的元素。數(shù)組的項(xiàng)目是元素類的實(shí)例,有4個(gè)屬性(類的變量)

$count -該元素在文檔中被發(fā)現(xiàn)的次數(shù)??
$chars -元素中字符事件的字節(jié)數(shù)??
$parents -父元素??
$childs - 子元素??
正如你所看到的,將類實(shí)例保存在數(shù)組中是輕而易舉的。


注意:PHP的一個(gè)特性是你可以通過while(list() = each())loop遍歷整個(gè)類結(jié)構(gòu),如同你遍歷整個(gè)相應(yīng)的數(shù)組一樣。所有的類變量(當(dāng)你用PHP3.0時(shí)還有方法名)都以字符串的方式輸出。


當(dāng)發(fā)現(xiàn)一個(gè)元素時(shí),我們需要增加其相應(yīng)的記數(shù)器來(lái)跟蹤它在文檔中出現(xiàn)多少次。在相應(yīng)的$elements項(xiàng)中的記數(shù)元素也要加一。


我們同樣要讓父元素知道目前的元素是它的子元素。因此,目前元素的名稱將會(huì)加入到父元素的$childs數(shù)組的項(xiàng)目中。最后,目前元素應(yīng)該記住誰(shuí)是它的父元素。所以,父元素被加入到目前元素$parents數(shù)組的項(xiàng)目中。


顯示統(tǒng)計(jì)信息

剩下的代碼在$elements數(shù)組和其子數(shù)組中循環(huán)顯示其統(tǒng)計(jì)結(jié)果。這就是最簡(jiǎn)單的嵌套循環(huán),盡管輸出正確的結(jié)果,但代碼既不簡(jiǎn)潔又沒有任何特別的技巧,它僅僅是一個(gè)你可能每天用他來(lái)完成工作的循環(huán)。


腳本范例被設(shè)計(jì)為通過PHP的CGI方式的命令行來(lái)調(diào)用。因此,統(tǒng)計(jì)結(jié)果輸出的格式為文本格式。如果你要將腳本運(yùn)用到互聯(lián)網(wǎng)上,那么你需要修改輸出函數(shù)來(lái)產(chǎn)生HTML格式。

總結(jié)

Exapt是PHP的XML解析器。作為基于事件的解析器,它不產(chǎn)生文檔的結(jié)構(gòu)描述。但通過提供底層訪問,這就使得可以更好地利用資源和更快地訪問。


作為一個(gè)不檢查有效性的解析器,Expat忽略與XML文檔連接的DTD,但如果文檔的格式不完整,它將會(huì)隨著出錯(cuò)信息而停止。


提供事件處理函數(shù)來(lái)處理文檔??
建立自己的事件結(jié)構(gòu)例如棧和樹來(lái)獲得XML結(jié)構(gòu)信息標(biāo)記的優(yōu)點(diǎn)。??
每天都有新的XML程序出現(xiàn),而PHP對(duì)XML的支持也不斷加強(qiáng)(例如,增加了支持基于DOM的XML解析器LibXML)。


有了PHP和Expat,你就可以為即將出現(xiàn)的有效、開放和獨(dú)立于平臺(tái)的標(biāo)準(zhǔn)作準(zhǔn)備。

范例

??
/*****************************************************************************??
* 名稱:XML解析范例:XML文檔信息統(tǒng)計(jì)
* 描述??
* 本范例通過PHP的Expat解析器收集和統(tǒng)計(jì)XML文檔的信息(例如:每個(gè)元素出現(xiàn)的次數(shù)、父元素和子元素??
* XML文件作為一個(gè)參數(shù) ./xmlstats_PHP4.php3 test.xml??
* $Requires: Expat 要求:Expat PHP4.0編譯為CGI模式??
*****************************************************************************/??

// 第一個(gè)參數(shù)是XML文件
$file = $argv[1];??

// 變量的初始化
$elements = $stack = array();??
$total_elements = $total_chars = 0;??

// 元素的基本類
class element??
{??
var $count = 0;??
var $chars = 0;??
var $parents = array();??
var $childs = array();??
}??

// 解析XML文件的函數(shù)
function xml_parse_from_file($parser, $file)??
{??
if(!file_exists($file))??
{??
die("Can't find file \"$file\".");??
}??

if(!($fp = @fopen($file, "r")))??
{??
die("Can't open file \"$file\".");??
}??

while($data = fread($fp, 4096))??
{??
if(!xml_parse($parser, $data, feof($fp)))??
{??
return(false);??
}??
}??

fclose($fp);??

return(true);??
}??

// 輸出結(jié)果函數(shù)(方框形式)
function print_box($title, $value)??
{??
printf("\n+%'-60s+\n", "");??
printf("|%20s", "$title:");??
printf("%14s", $value);??
printf("%26s|\n", "");??
printf("+%'-60s+\n", "");??
}??

// 輸出結(jié)果函數(shù)(行形式)
function print_line($title, $value)??
{??
printf("%20s", "$title:");??
printf("%15s\n", $value);??
}??

// 排序函數(shù)
function my_sort($a, $b)??
{??
return(is_object($a) && is_object($b) ? $b->count - $a->count: 0);??
}??

function start_element($parser, $name, $attrs)??
{??
global $elements, $stack;??

// 元素是否已在全局$elements數(shù)組中?
if(!isset($elements[$name]))??
{??
// 否-增加一個(gè)元素的類實(shí)例
$element = new element;??
$elements[$name] = $element;??
}??

// 該元素的記數(shù)器加一
$elements[$name]->count++;??

// 是否有父元素?
if(isset($stack[count($stack)-1]))??
{??
// 是-將父元素賦給$last_element
$last_element = $stack[count($stack)-1];??

// 如果目前元素的父元素?cái)?shù)組為空,初始化為0
if(!isset($elements[$name]->parents[$last_element]))??
{??
$elements[$name]->parents[$last_element] = 0;??
}??

// 該元素的父元素記數(shù)器加一
$elements[$name]->parents[$last_element]++;??

// 如果目前元素的父元素的子元素?cái)?shù)組為空,初始化為0

if(!isset($elements[$last_element]->childs[$name]))??
{??
$elements[$last_element]->childs[$name] = 0;??
}??

// 該元素的父元素的子元素記數(shù)器加一
$elements[$last_element]->childs[$name]++;??
}??

// 將目前的元素加入到棧中
array_push($stack, $name);??
}??

function stop_element($parser, $name)??
{??
global $stack;??

// 從棧中將最頂部的元素移去
array_pop($stack);??
}??

function char_data($parser, $data)??
{??
global $elements, $stack, $depth;??

// 增加目前元素的字符數(shù)目
$elements[$stack][count($stack)-1]]->chars += strlen(trim($data));??
}??

// 產(chǎn)生解析器的實(shí)例
$parser = xml_parser_create();??

// 設(shè)置處理函數(shù)
xml_set_element_handler($parser, "start_element", "stop_element");??
xml_set_character_data_handler($parser, "char_data");??
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);??

// 解析文件
$ret = xml_parse_from_file($parser, $file);??
if(!$ret)??
{??
die(sprintf("XML error: %s at line %d",??
xml_error_string(xml_get_error_code($parser)),??
xml_get_current_line_number($parser)));??
}??

// 釋放解析器
xml_parser_free($parser);??

// 釋放協(xié)助元素
unset($elements["current_element"]);??
unset($elements["last_element"]);??

// 根據(jù)元素的次數(shù)排序
uasort($elements, "my_sort");??

// 在$elements中循環(huán)收集元素信息
while(list($name, $element) = each($elements))??
{??
print_box("Element name", $name);??

print_line("Element count", $element->count);??
print_line("Character count", $element->chars);??

printf("\n%20s\n", "* Parent elements");??

// 在該元素的父中循環(huán),輸出結(jié)果
while(list($key, $value) = each($element->parents))??
{??
print_line($key, $value);??
}??
if(count($element->parents) == 0)??
{??
printf("%35s\n", "[root element]");??
}??

// 在該元素的子中循環(huán),輸出結(jié)果
printf("\n%20s\n", "* Child elements");??
while(list($key, $value) = each($element->childs))??
{??
print_line($key, $value);??
}??
if(count($element->childs) == 0)??
{??
printf("%35s\n", "[no childs]");??
}??

$total_elements += $element->count;??
$total_chars += $element->chars;??
}??

// 最終結(jié)果
print_box("Total elements", $total_elements);??
print_box("Total characters", $total_chars);??
?>?



本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
Windows 11 上調(diào)整視窗邊框設(shè)定的方法:變更顏色和大小 Windows 11 上調(diào)整視窗邊框設(shè)定的方法:變更顏色和大小 Sep 22, 2023 am 11:37 AM

Windows11將清新優(yōu)雅的設(shè)計(jì)帶到了最前沿;現(xiàn)代介面可讓您個(gè)性化和更改最精細(xì)的細(xì)節(jié),例如視窗邊框。在本指南中,我們將討論逐步說(shuō)明,以協(xié)助您在Windows作業(yè)系統(tǒng)中建立反映您的風(fēng)格的環(huán)境。如何更改視窗邊框設(shè)定?按+開啟“設(shè)定”應(yīng)用程式。 WindowsI前往個(gè)人化,然後按一下顏色設(shè)定。顏色變更視窗邊框設(shè)定視窗11「寬度=」643「高度=」500「&gt;找到在標(biāo)題列和視窗邊框上顯示強(qiáng)調(diào)色選項(xiàng),然後切換它旁邊的開關(guān)。若要在「開始」功能表和工作列上顯示主題色,請(qǐng)開啟「在開始」功能表和工作列上顯示主題

解決方法:您的組織要求您更改 PIN 碼 解決方法:您的組織要求您更改 PIN 碼 Oct 04, 2023 pm 05:45 PM

「你的組織要求你更改PIN訊息」將顯示在登入畫面上。當(dāng)在使用基於組織的帳戶設(shè)定的電腦上達(dá)到PIN過期限制時(shí),就會(huì)發(fā)生這種情況,在該電腦上,他們可以控制個(gè)人設(shè)備。但是,如果您使用個(gè)人帳戶設(shè)定了Windows,則理想情況下不應(yīng)顯示錯(cuò)誤訊息。雖然情況並非總是如此。大多數(shù)遇到錯(cuò)誤的使用者使用個(gè)人帳戶報(bào)告。為什麼我的組織要求我在Windows11上更改我的PIN?可能是您的帳戶與組織相關(guān)聯(lián),您的主要方法應(yīng)該是驗(yàn)證這一點(diǎn)。聯(lián)絡(luò)網(wǎng)域管理員會(huì)有所幫助!此外,配置錯(cuò)誤的本機(jī)原則設(shè)定或不正確的登錄項(xiàng)目也可能導(dǎo)致錯(cuò)誤。即

如何在 Windows 11 上變更標(biāo)題列顏色? 如何在 Windows 11 上變更標(biāo)題列顏色? Sep 14, 2023 pm 03:33 PM

預(yù)設(shè)情況下,Windows11上的標(biāo)題列顏色取決於您選擇的深色/淺色主題。但是,您可以將其變更為所需的任何顏色。在本指南中,我們將討論三種方法的逐步說(shuō)明,以更改它並個(gè)性化您的桌面體驗(yàn),使其具有視覺吸引力。是否可以更改活動(dòng)和非活動(dòng)視窗的標(biāo)題列顏色?是的,您可以使用「設(shè)定」套用變更活動(dòng)視窗的標(biāo)題列顏色,也可以使用登錄編輯程式變更非活動(dòng)視窗的標(biāo)題列顏色。若要了解這些步驟,請(qǐng)前往下一部分。如何在Windows11中變更標(biāo)題列的顏色? 1.使用「設(shè)定」應(yīng)用程式按+開啟設(shè)定視窗。 WindowsI前往“個(gè)人化”,然

Windows 11 上啟用或停用工作列縮圖預(yù)覽的方法 Windows 11 上啟用或停用工作列縮圖預(yù)覽的方法 Sep 15, 2023 pm 03:57 PM

工作列縮圖可能很有趣,但它們也可能分散注意力或煩人??紤]到您將滑鼠懸停在該區(qū)域的頻率,您可能無(wú)意中關(guān)閉了重要視窗幾次。另一個(gè)缺點(diǎn)是它使用更多的系統(tǒng)資源,因此,如果您一直在尋找一種提高資源效率的方法,我們將向您展示如何停用它。不過,如果您的硬體規(guī)格可以處理它並且您喜歡預(yù)覽版,則可以啟用它。如何在Windows11中啟用工作列縮圖預(yù)覽? 1.使用「設(shè)定」應(yīng)用程式點(diǎn)擊鍵並點(diǎn)選設(shè)定。 Windows按一下系統(tǒng),然後選擇關(guān)於。點(diǎn)選高級(jí)系統(tǒng)設(shè)定。導(dǎo)航至“進(jìn)階”選項(xiàng)卡,然後選擇“效能”下的“設(shè)定”。在「視覺效果」選

10種在 Windows 11 上調(diào)整亮度的方法 10種在 Windows 11 上調(diào)整亮度的方法 Dec 18, 2023 pm 02:21 PM

螢?zāi)涣炼仁鞘褂矛F(xiàn)代計(jì)算設(shè)備不可或缺的一部分,尤其是當(dāng)您長(zhǎng)時(shí)間注視螢?zāi)粫r(shí)。它可以幫助您減輕眼睛疲勞,提高易讀性,並輕鬆有效地查看內(nèi)容。但是,根據(jù)您的設(shè)置,有時(shí)很難管理亮度,尤其是在具有新UI更改的Windows11上。如果您在調(diào)整亮度時(shí)遇到問題,以下是在Windows11上管理亮度的所有方法。如何在Windows11上變更亮度[10種方式解釋]單一顯示器使用者可以使用下列方法在Windows11上調(diào)整亮度。這包括使用單一顯示器的桌上型電腦系統(tǒng)以及筆記型電腦。讓我們開始吧。方法1:使用操作中心操作中心是訪問

Windows 11 上的顯示縮放比例調(diào)整指南 Windows 11 上的顯示縮放比例調(diào)整指南 Sep 19, 2023 pm 06:45 PM

在Windows11上的顯示縮放方面,我們都有不同的偏好。有些人喜歡大圖標(biāo),有些人喜歡小圖標(biāo)。但是,我們都同意擁有正確的縮放比例很重要。字體縮放不良或圖像過度縮放可能是工作時(shí)真正的生產(chǎn)力殺手,因此您需要知道如何自訂以充分利用系統(tǒng)功能。自訂縮放的優(yōu)點(diǎn):對(duì)於難以閱讀螢?zāi)簧系奈淖值娜藖?lái)說(shuō),這是一個(gè)有用的功能。它可以幫助您一次在螢?zāi)簧喜榭锤鄡?nèi)容。您可以建立僅適用於某些監(jiān)視器和應(yīng)用程式的自訂擴(kuò)充功能設(shè)定檔??梢詭椭岣叩碗A硬體的效能。它使您可以更好地控制螢?zāi)簧系膬?nèi)容。如何在Windows11

能否用PowerPoint開啟XML文件 能否用PowerPoint開啟XML文件 Feb 19, 2024 pm 09:06 PM

XML檔可以用PPT開啟嗎? XML,即可擴(kuò)展標(biāo)記語(yǔ)言(ExtensibleMarkupLanguage),是一種廣泛應(yīng)用於資料交換和資料儲(chǔ)存的通用標(biāo)記語(yǔ)言。與HTML相比,XML更加靈活,能夠定義自己的標(biāo)籤和資料結(jié)構(gòu),使得資料的儲(chǔ)存和交換更加方便和統(tǒng)一。而PPT,即PowerPoint,是微軟公司開發(fā)的一種用於創(chuàng)建簡(jiǎn)報(bào)的軟體。它提供了圖文並茂的方

element.style怎麼修改 element.style怎麼修改 Nov 24, 2023 am 11:15 AM

element.style修改元素的方法:1、修改元素的背景顏色;2、修改元素的字體大?。?、修改元素的邊框樣式;4、修改元素的字體樣式;5、修改元素的水平對(duì)齊方式。詳細(xì)介紹:1、修改元素的背景顏色,其語(yǔ)法為「document.getElementById("myElement").style.backgroundColor = "red";」;2、修改元素的字體大小等等。

See all articles