<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://johnsonchen.dev/</loc></url><url><loc>https://johnsonchen.dev/blog/</loc></url><url><loc>https://johnsonchen.dev/blog/angular-training/animations/</loc><lastmod>2025-09-29T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/build-and-deployment/</loc><lastmod>2025-09-30T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/component-data-definition/</loc><lastmod>2025-09-06T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/component-lifecycle/</loc><lastmod>2025-09-19T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/components/</loc><lastmod>2025-09-04T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/control-flow-for/</loc><lastmod>2025-09-12T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/control-flow-if/</loc><lastmod>2025-09-10T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/control-flow-switch/</loc><lastmod>2025-09-11T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/data-binding/</loc><lastmod>2025-09-07T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/directives/</loc><lastmod>2025-09-20T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/environment-setup/</loc><lastmod>2025-09-02T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/event-listeners/</loc><lastmod>2025-09-08T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/http-client/</loc><lastmod>2025-09-25T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/inputs/</loc><lastmod>2025-09-13T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/introduction/</loc><lastmod>2025-09-01T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/modules/</loc><lastmod>2025-09-05T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/outputs/</loc><lastmod>2025-09-14T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/pipes/</loc><lastmod>2025-09-21T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/project-structure/</loc><lastmod>2025-09-03T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/reactive-forms/</loc><lastmod>2025-09-23T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/routing-advanced/</loc><lastmod>2025-09-27T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/routing-basics/</loc><lastmod>2025-09-26T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/rxjs/</loc><lastmod>2025-09-24T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/services/</loc><lastmod>2025-09-18T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/signals-basics/</loc><lastmod>2025-09-09T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/template-driven-forms/</loc><lastmod>2025-09-22T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/template-patterns-part-1/</loc><lastmod>2025-09-16T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/template-patterns-part-2/</loc><lastmod>2025-09-17T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/testing/</loc><lastmod>2025-09-28T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/blog/angular-training/two-way-binding/</loc><lastmod>2025-09-15T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/series/</loc></url><url><loc>https://johnsonchen.dev/series/angular-training/</loc><lastmod>2025-09-30T00:00:00.000Z</lastmod></url><url><loc>https://johnsonchen.dev/tags/</loc></url><url><loc>https://johnsonchen.dev/tags/angular-training/</loc></url><url><loc>https://johnsonchen.dev/tags/angular/</loc></url><url><loc>https://johnsonchen.dev/tags/component-communication/</loc></url><url><loc>https://johnsonchen.dev/tags/components/</loc></url><url><loc>https://johnsonchen.dev/tags/control-flow/</loc></url><url><loc>https://johnsonchen.dev/tags/forms/</loc></url><url><loc>https://johnsonchen.dev/tags/routing/</loc></url><url><loc>https://johnsonchen.dev/tags/template-syntax/</loc></url></urlset>