我是XML和C#的新手,所以我在實現以下方面遇到了一些麻煩。希望有人能指出我正確的方向。所以我用C#開發OpenXML 2.5,並且在創建Font之後,如果該Font已經存在於Font集合中,我試圖檢查它。如果它已經這樣做,那麼我想返回字體的索引。在OpenXML中比較兩個XML元素
我被困在編寫一個有效的方法來比較這些字體對象,我相信比較他們各自的XML代碼是要走的路。我相信這些Font對象是XML代碼的包裝器。所以我認爲我應該能夠比較兩個XML元素並確定該Font是否已經存在。
這是否有意義?這是一個例子,因爲我擔心我的解釋過於複雜。
基本上,我想找到,如果這:
<x:font>
<x:b />
<x:sz val="18" />
<x:color theme="3" />
<x:name val="Cambria" />
<x:family val="2" />
<x:scheme val="major" />
</x:font>
2.已經存在於這裏:
<x:fonts count="18" x14ac:knownFonts="1" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<x:font>
<x:sz val="11" />
<x:color theme="1" />
<x:name val="Calibri" />
<x:family val="2" />
<x:scheme val="minor" />
</x:font>
<x:font>
<x:sz val="11" />
<x:color theme="1" />
<x:name val="Calibri" />
<x:family val="2" />
<x:scheme val="minor" />
</x:font>
<x:font>
<x:b />
<x:sz val="18" />
<x:color theme="3" />
<x:name val="Cambria" />
<x:family val="2" />
<x:scheme val="major" />
</x:font>
<x:font>
<x:b />
<x:sz val="15" />
<x:color theme="3" />
<x:name val="Calibri" />
<x:family val="2" />
<x:scheme val="minor" />
</x:font>
</x:fonts>
並且該方法返回索引的字體。所以在這個例子中,我的函數將返回2
。
任何幫助,將不勝感激!
感謝, 賈斯汀