<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>JSON on Israel Brea Piñero</title>
        <link>https://israelbreap-portfolio.pages.dev/tags/json/</link>
        <description>Recent content in JSON on Israel Brea Piñero</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 02 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://israelbreap-portfolio.pages.dev/tags/json/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>XML processing with DOM and SAX</title>
        <link>https://israelbreap-portfolio.pages.dev/p/xml-processing/</link>
        <pubDate>Sun, 02 Feb 2025 00:00:00 +0000</pubDate>
        
        <guid>https://israelbreap-portfolio.pages.dev/p/xml-processing/</guid>
        <description>&lt;img src="https://israelbreap-portfolio.pages.dev/p/xml-processing/domsax_en.png" alt="Featured image of post XML processing with DOM and SAX" /&gt;&lt;p&gt;This project was developed for the subject of Server-Side Technologies: Cloud Computing as part of the official university master&amp;rsquo;s degree in Mobile Computing (MIMO).&lt;/p&gt;
&lt;p&gt;The main objective was to implement a &lt;strong&gt;Java&lt;/strong&gt; application capable of processing a news channel in &lt;strong&gt;RSS (XML) format&lt;/strong&gt; and generating &lt;strong&gt;XML and JSON output files&lt;/strong&gt;, applying modern processing techniques and specific tools.&lt;/p&gt;
&lt;h2 id=&#34;main-functionalities&#34;&gt;Main functionalities
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. XML processing&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;Implementation of two versions of RSS file processing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DOM (Document Object Model)&lt;/strong&gt;: Loads the entire document into memory and allows structured navigation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SAX (Simple API for XML)&lt;/strong&gt;: Sequential reading of the file, more efficient for large volumes of data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Extraction and presentation of key information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;From the channel&lt;/strong&gt;: Title, URL, description.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From the news&lt;/strong&gt;: Title, URL, description, publication date and category.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. Output file generation&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;XML&lt;/strong&gt;: Structured file with the news titles in the format:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;news&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;channel=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;channel title&amp;#34;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;lt;news&amp;gt;&lt;/span&gt;news title 1&lt;span class=&#34;nt&#34;&gt;&amp;lt;/news&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;lt;news&amp;gt;&lt;/span&gt;news title 2&lt;span class=&#34;nt&#34;&gt;&amp;lt;/news&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;/news&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;JSON&lt;/strong&gt;: Equivalent file, generated with the format:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;news&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;news&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;news title 1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;news&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;news title 2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;3. Conversion with GSON&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;Use of the GSON library for serialization and deserialization between Java objects and JSON, ensuring simple and efficient data manipulation.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/israelbrea12/Procesamiento-DOM-JAVA.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;View GitHub repository for DOM processing&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/israelbrea12/Procesamiento-SAX-JAVA.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;View GitHub repository for SAX processing&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
